%new wxBitmap* wxEmptyBitmap(int width, int height, int depth=-1);
wxBitmap* wxNoRefBitmap(char* name, long flags);
+#ifdef __WXMSW__
+%new wxBitmap* wxBitmapFromData(char* data, long type,
+ int width, int height, int depth = 1);
+#endif
+
%{ // Alternate 'constructor'
wxBitmap* wxEmptyBitmap(int width, int height, int depth=-1) {
return new wxBitmap(width, height, depth);
wxBitmap* wxNoRefBitmap(char* name, long flags) {
return new wxBitmap(name, flags);
}
+
+#ifdef __WXMSW__
+ wxBitmap* wxBitmapFromData(char* data, long type,
+ int width, int height, int depth = 1) {
+ return new wxBitmap((void*)data, type, width, height, depth);
+ }
+#endif
%}
//---------------------------------------------------------------------------
class wxIcon : public wxBitmap {
public:
-#ifdef __WXMSW__
wxIcon(const wxString& name, long flags,
int desiredWidth = -1, int desiredHeight = -1);
-#endif
~wxIcon();
int GetDepth();
void SetWidth(int width);
};
+
//---------------------------------------------------------------------------
class wxCursor : public wxBitmap {
//----------------------------------------------------------------------
+
+enum wxFontEncoding
+{
+ wxFONTENCODING_SYSTEM = -1, // system default
+ wxFONTENCODING_DEFAULT, // current default encoding
+
+ // ISO8859 standard defines a number of single-byte charsets
+ wxFONTENCODING_ISO8859_1, // West European (Latin1)
+ wxFONTENCODING_ISO8859_2, // Central and East European (Latin2)
+ wxFONTENCODING_ISO8859_3, // Esperanto (Latin3)
+ wxFONTENCODING_ISO8859_4, // Baltic languages (Estonian) (Latin4)
+ wxFONTENCODING_ISO8859_5, // Cyrillic
+ wxFONTENCODING_ISO8859_6, // Arabic
+ wxFONTENCODING_ISO8859_7, // Greek
+ wxFONTENCODING_ISO8859_8, // Hebrew
+ wxFONTENCODING_ISO8859_9, // Turkish (Latin5)
+ wxFONTENCODING_ISO8859_10, // Variation of Latin4 (Latin6)
+ wxFONTENCODING_ISO8859_11, // Thai
+ wxFONTENCODING_ISO8859_12, // doesn't exist currently, but put it
+ // here anyhow to make all ISO8859
+ // consecutive numbers
+ wxFONTENCODING_ISO8859_13, // Latin7
+ wxFONTENCODING_ISO8859_14, // Latin8
+ wxFONTENCODING_ISO8859_15, // Latin9 (a.k.a. Latin0, includes euro)
+
+ // Cyrillic charset soup (see http://czyborra.com/charsets/cyrillic.html)
+ wxFONTENCODING_KOI8, // we don't support any of KOI8 variants
+ wxFONTENCODING_ALTERNATIVE, // same as MS-DOS CP866
+ wxFONTENCODING_BULGARIAN, // used under Linux in Bulgaria
+
+ // what would we do without Microsoft? They have their own encodings
+ // for DOS
+ wxFONTENCODING_CP437, // original MS-DOS codepage
+ wxFONTENCODING_CP850, // CP437 merged with Latin1
+ wxFONTENCODING_CP852, // CP437 merged with Latin2
+ wxFONTENCODING_CP855, // another cyrillic encoding
+ wxFONTENCODING_CP866, // and another one
+ // and for Windows
+ wxFONTENCODING_CP1250, // WinLatin2
+ wxFONTENCODING_CP1251, // WinCyrillic
+ wxFONTENCODING_CP1252, // WinLatin1
+
+ wxFONTENCODING_MAX
+};
+
class wxFont {
public:
// I'll do it this way to use long-lived objects and not have to
// worry about when python may delete the object.
%addmethods {
wxFont( int pointSize, int family, int style, int weight,
- int underline=FALSE, char* faceName = "") {
+ int underline=FALSE, char* faceName = "",
+ wxFontEncoding encoding=wxFONTENCODING_DEFAULT) {
return wxTheFontList->FindOrCreateFont(pointSize, family, style, weight,
underline, faceName);
int GetStyle();
bool GetUnderlined();
int GetWeight();
+ wxFontEncoding GetEncoding();
void SetFaceName(const wxString& faceName);
void SetFamily(int family);
void SetPointSize(int pointSize);
void SetStyle(int style);
void SetUnderlined(bool underlined);
void SetWeight(int weight);
+ void SetEncoding(wxFontEncoding encoding);
+ wxString GetFamilyString();
+ wxString GetStyleString();
+ wxString GetWeightString();
};
+%inline %{
+ wxFontEncoding wxFont_GetDefaultEncoding() {
+ return wxFont::GetDefaultEncoding();
+ }
+
+ void wxFont_SetDefaultEncoding(wxFontEncoding encoding) {
+ wxFont::SetDefaultEncoding(encoding);
+ }
+%}
+
//----------------------------------------------------------------------
class wxColour {
~wxDC();
void BeginDrawing();
- bool Blit(long xdest, long ydest, long width, long height,
- wxDC *source, long xsrc, long ysrc, long logical_func);
+// %name(BlitXY)
+ bool Blit(long xdest, long ydest,
+ long width, long height,
+ wxDC *source, long xsrc, long ysrc,
+ int logicalFunc = wxCOPY, int useMask = FALSE);
+// bool Blit(const wxPoint& destPt, const wxSize& sz,
+// wxDC *source, const wxPoint& srcPt,
+// int logicalFunc = wxCOPY, int useMask = FALSE);
+
void Clear();
void CrossHair(long x, long y);
void DestroyClippingRegion();
long DeviceToLogicalY(long y);
long DeviceToLogicalYRel(long y);
void DrawArc(long x1, long y1, long x2, long y2, long xc, long yc);
+ void DrawCircle(long x, long y, long radius);
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);
return wc;
}
}
- void GetSize(int* OUTPUT, int* OUTPUT); //void GetSize(long* OUTPUT, long* OUTPUT);
+ %name(GetSizeTuple)void GetSize(int* OUTPUT, int* OUTPUT);
+ wxSize GetSize();
wxColour& GetTextBackground();
void GetTextExtent(const wxString& string, long *OUTPUT, long *OUTPUT);
%name(GetFullTextExtent)void GetTextExtent(const wxString& string,
void StartPage();
- %addmethods {
- // This one is my own creation...
- void DrawBitmap(wxBitmap& bitmap, long x, long y, bool swapPalette=TRUE) {
- wxMemoryDC* memDC = new wxMemoryDC;
- memDC->SelectObject(bitmap);
- if (swapPalette)
- self->SetPalette(*bitmap.GetPalette());
- self->Blit(x, y, bitmap.GetWidth(), bitmap.GetHeight(), memDC,
- 0, 0, self->GetLogicalFunction());
- memDC->SelectObject(wxNullBitmap);
- delete memDC;
- }
- }
+// Don't need this one anymore as wxWindows has one...
+// %addmethods {
+// // This one is my own creation...
+// void DrawBitmap(wxBitmap& bitmap, long x, long y, bool swapPalette=TRUE) {
+// wxMemoryDC* memDC = new wxMemoryDC;
+// memDC->SelectObject(bitmap);
+// #ifdef __WXMSW__
+// if (swapPalette)
+// self->SetPalette(*bitmap.GetPalette());
+// #endif
+// self->Blit(x, y, bitmap.GetWidth(), bitmap.GetHeight(), memDC,
+// 0, 0, self->GetLogicalFunction());
+// memDC->SelectObject(wxNullBitmap);
+// delete memDC;
+// }
+// }
+
+ void DrawBitmap(const wxBitmap& bitmap, long x, long y,
+ int useMask = FALSE);
+
};
extern wxFont *wxSMALL_FONT;
extern wxFont *wxITALIC_FONT;
extern wxFont *wxSWISS_FONT;
-extern wxPen *wxRED_PEN;
+extern wxPen *wxRED_PEN;
extern wxPen *wxCYAN_PEN;
extern wxPen *wxGREEN_PEN;
extern wxPen *wxBLACK_PEN;