#include <wx/fontenc.h>
#include <wx/fontmap.h>
#include <wx/fontutil.h>
+#include <wx/dcbuffer.h>
%}
//----------------------------------------------------------------------
%import _defs.i
%import misc.i
-%{
- static wxString wxPyEmptyStr("");
-%}
//---------------------------------------------------------------------------
class wxBitmap : public wxGDIObject
{
public:
- wxBitmap(const wxString& name, wxBitmapType type=wxBITMAP_TYPE_BMP);
+ wxBitmap(const wxString& name, wxBitmapType type=wxBITMAP_TYPE_ANY);
~wxBitmap();
wxPalette* GetPalette();
wxMask* GetMask();
- bool LoadFile(const wxString& name, wxBitmapType type=wxBITMAP_TYPE_BMP);
+ bool LoadFile(const wxString& name, wxBitmapType type=wxBITMAP_TYPE_ANY);
bool SaveFile(const wxString& name, wxBitmapType type, wxPalette* palette = NULL);
void SetMask(wxMask* mask);
#ifdef __WXMSW__
int desiredWidth = -1, int desiredHeight = -1);
~wxIcon();
+#ifndef __WXMAC__
bool LoadFile(const wxString& name, long flags);
+#endif
// wxGDIImage methods
#ifdef __WXMSW__
// Declarations of some alternate "constructors"
%new wxIcon* wxEmptyIcon();
%new wxIcon* wxIconFromXPMData(PyObject* listOfStrings);
+%new wxIcon* wxIconFromBitmap(const wxBitmap& bmp);
%{ // Implementations of some alternate "constructors"
wxIcon* wxEmptyIcon() {
delete [] cArray;
return icon;
}
+
+ wxIcon* wxIconFromBitmap(const wxBitmap& bmp) {
+ wxIcon* icon = new wxIcon();
+ icon->CopyFromBitmap(bmp);
+ return icon;
+ }
%}
//---------------------------------------------------------------------------
wxFONTFAMILY_SWISS = wxSWISS,
wxFONTFAMILY_MODERN = wxMODERN,
wxFONTFAMILY_TELETYPE = wxTELETYPE,
- wxFONTFAMILY_MAX
+ wxFONTFAMILY_MAX,
+ wxFONTFAMILY_UNKNOWN
};
// font styles
// ToString() and restore them using FromString())
struct wxNativeFontInfo
{
+#ifdef __WXGTK__
+ // init the elements from an XLFD, return TRUE if ok
+ bool FromXFontName(const wxString& xFontName);
+
+ // return false if we were never initialized with a valid XLFD
+ bool IsDefault() const;
+
+ // generate an XLFD using the fontElements
+ wxString GetXFontName() const;
+
+ // set the XFLD
+ void SetXFontName(const wxString& xFontName);
+#endif
+
+ wxNativeFontInfo() { Init(); }
+
+ // reset to the default state
+ void Init();
+
+#ifndef __WXGTK__
+ // accessors and modifiers for the font elements
+ int GetPointSize() const;
+ wxFontStyle GetStyle() const;
+ wxFontWeight GetWeight() const;
+ bool GetUnderlined() const;
+ wxString GetFaceName() const;
+ wxFontFamily GetFamily() const;
+ wxFontEncoding GetEncoding() const;
+
+ void SetPointSize(int pointsize);
+ void SetStyle(wxFontStyle style);
+ void SetWeight(wxFontWeight weight);
+ void SetUnderlined(bool underlined);
+ void SetFaceName(wxString facename);
+ void SetFamily(wxFontFamily family);
+ void SetEncoding(wxFontEncoding encoding);
+#endif
+
// it is important to be able to serialize wxNativeFontInfo objects to be
// able to store them (in config file, for example)
bool FromString(const wxString& s);
return self->ToString();
}
}
+
+ // we also want to present the native font descriptions to the user in some
+ // human-readable form (it is not platform independent neither, but can
+ // hopefully be understood by the user)
+ bool FromUserString(const wxString& s);
+ wxString ToUserString() const;
};
bool GetUnderlined() const;
wxString GetFaceName() const;
wxFontEncoding GetEncoding() const;
+
+ bool IsFixedWidth();
+
wxNativeFontInfo* GetNativeFontInfo() const;
+ wxString GetNativeFontInfoDesc() const;
+ wxString GetNativeFontInfoUserDesc() const;
void SetPointSize(int pointSize);
void SetFamily(int family);
void SetUnderlined(bool underlined);
void SetEncoding(wxFontEncoding encoding);
void SetNativeFontInfo(const wxNativeFontInfo& info);
+ // void SetNativeFontInfo(const wxString& info);
+ void SetNativeFontInfoUserDesc(const wxString& info);
wxString GetFamilyString() const;
wxString GetStyleString() const;
%addmethods {
void Append(const wxString& name, int red, int green, int blue) {
+ // first see if the name is already there
+ wxString cName = name;
+ cName.MakeUpper();
+ wxString cName2 = cName;
+ if ( !cName2.Replace(wxT("GRAY"), wxT("GREY")) )
+ cName2.clear();
+
+ wxNode *node = self->First();
+ while ( node ) {
+ const wxChar *key = node->GetKeyString();
+ if ( cName == key || cName2 == key ) {
+ wxColour* c = (wxColour *)node->Data();
+ c->Set(red, green, blue);
+ return;
+ }
+ node = node->Next();
+ }
+
+ // otherwise append the new colour
self->Append(name.c_str(), new wxColour(red, green, blue));
}
}
void DrawEllipse(long x, long y, long width, long height);
void DrawEllipticArc(long x, long y, long width, long height, long start, long end);
void DrawIcon(const wxIcon& icon, long x, long y);
+
+ void DrawLabel(const wxString& text, const wxRect& rect,
+ int alignment = wxALIGN_LEFT | wxALIGN_TOP,
+ int indexAccel = -1);
+
+ %addmethods {
+ wxRect DrawImageLabel(const wxString& text,
+ const wxBitmap& image,
+ const wxRect& rect,
+ int alignment = wxALIGN_LEFT | wxALIGN_TOP,
+ int indexAccel = -1) {
+ wxRect rv;
+ self->DrawLabel(text, image, rect, alignment, indexAccel, &rv);
+ return rv;
+ }
+ }
+
void DrawLine(long x1, long y1, long x2, long y2);
void DrawLines(int PCOUNT, wxPoint* points, long xoffset=0, long yoffset=0);
void DrawPolygon(int PCOUNT, wxPoint* points, long xoffset=0, long yoffset=0,
%}
+//---------------------------------------------------------------------------
+
+class wxBufferedDC : public wxMemoryDC {
+public:
+ // Construct a wxBufferedDC using a user supplied buffer.
+ wxBufferedDC( wxDC *dc, const wxBitmap &buffer );
+
+ // Construct a wxBufferedDC with an internal buffer of 'area'
+ // (where area is usually something like the size of the window
+ // being buffered)
+ %name(wxBufferedDCInternalBuffer)wxBufferedDC( wxDC *dc, const wxSize &area );
+};
+
+
+class wxBufferedPaintDC : public wxBufferedDC
+{
+public:
+ wxBufferedPaintDC( wxWindow *window, const wxBitmap &buffer = wxNullBitmap );
+};
+
//---------------------------------------------------------------------------
class wxScreenDC : public wxDC {
class wxMetaFile : public wxObject {
public:
- wxMetaFile(const wxString& filename = wxPyEmptyStr);
+ wxMetaFile(const wxString& filename = wxEmptyString);
~wxMetaFile();
bool Ok();
class wxMetaFileDC : public wxDC {
public:
- wxMetaFileDC(const wxString& filename = wxPyEmptyStr,
+ wxMetaFileDC(const wxString& filename = wxEmptyString,
int width = 0, int height = 0,
- const wxString& description = wxPyEmptyStr);
+ const wxString& description = wxEmptyString);
wxMetaFile* Close();
};
~wxRegion();
void Clear();
+#ifndef __WXMAC__
+ bool Offset(wxCoord x, wxCoord y);
+#endif
+
wxRegionContain Contains(long x, long y);
%name(ContainsPoint)wxRegionContain Contains(const wxPoint& pt);
%name(ContainsRect)wxRegionContain Contains(const wxRect& rect);