-%module gdi
-%{
/////////////////////////////////////////////////////////////////////////////
// Name: gdi.i
// Purpose: SWIG interface file for wxDC, wxBrush, wxPen, wxFont, etc.
/////////////////////////////////////////////////////////////////////////////
-#include "helpers.h"
+%module gdi
+%{
+#include "helpers.h"
#include <wx/metafile.h>
+#include <wx/imaglist.h>
+#ifndef __WXMSW__
+#include <wx/dcps.h>
+#endif
%}
//----------------------------------------------------------------------
wxBitmap(const wxString& name, long type);
~wxBitmap();
+#ifdef __WXMSW__
void Create(int width, int height, int depth = -1);
+#endif
int GetDepth();
int GetHeight();
wxPalette* GetPalette();
void SetDepth(int depth);
void SetHeight(int height);
void SetMask(wxMask* mask);
- void SetOk(int isOk);
- void SetPalette(wxPalette* palette);
+#ifdef __WXMSW__
+ void SetPalette(wxPalette& palette);
+#endif
void SetWidth(int width);
};
%new wxBitmap* wxEmptyBitmap(int width, int height, int depth=-1);
wxBitmap* wxNoRefBitmap(char* name, long flags);
+
%{ // Alternate 'constructor'
wxBitmap* wxEmptyBitmap(int width, int height, int depth=-1) {
return new wxBitmap(width, height, depth);
class wxIcon : public wxBitmap {
public:
- wxIcon(char *name, long flags);
+#ifdef __WXMSW__
+ wxIcon(const wxString& name, long flags,
+ int desiredWidth = -1, int desiredHeight = -1);
+#endif
~wxIcon();
int GetDepth();
bool Ok();
void SetDepth(int depth);
void SetHeight(int height);
- void SetOk(int isOk);
void SetWidth(int width);
};
class wxCursor : public wxBitmap {
public:
+#ifdef __WXMSW__
wxCursor(const wxString& cursorName, long flags, int hotSpotX=0, int hotSpotY=0);
+#endif
~wxCursor();
bool Ok();
};
-%new wxCursor* wxStockCursor(int id);
+%name(wxStockCursor) %new wxCursor* wxPyStockCursor(int id);
%{ // Alternate 'constructor'
- wxCursor* wxStockCursor(int id) {
+ wxCursor* wxPyStockCursor(int id) {
return new wxCursor(id);
}
%}
wxString GetFaceName();
int GetFamily();
+#ifdef __WXMSW__
int GetFontId();
+#endif
int GetPointSize();
int GetStyle();
bool GetUnderlined();
int GetCap();
wxColour& GetColour();
- // **** This one needs to return a list of ints (wxDash)
- int GetDashes(wxDash **dashes);
int GetJoin();
- wxBitmap* GetStipple();
int GetStyle();
int GetWidth();
bool Ok();
void SetCap(int cap_style);
void SetColour(wxColour& colour);
- void SetDashes(int LCOUNT, wxDash* LIST);
void SetJoin(int join_style);
- void SetStipple(wxBitmap * stipple);
void SetStyle(int style);
void SetWidth(int width);
+
+#ifdef __WXMSW__
+ // **** This one needs to return a list of ints (wxDash)
+ int GetDashes(wxDash **dashes);
+ wxBitmap* GetStipple();
+ void SetDashes(int LCOUNT, wxDash* LIST);
+ void SetStipple(wxBitmap& stipple);
+#endif
};
//----------------------------------------------------------------------
int GetStyle();
bool Ok();
void SetColour(wxColour &colour);
- void SetStipple(wxBitmap *bitmap);
+ void SetStipple(wxBitmap& bitmap);
void SetStyle(int style);
};
class wxDC {
public:
- wxDC();
+// wxDC(); **** abstract base class, can't instantiate.
~wxDC();
void BeginDrawing();
void EndDrawing();
void EndPage();
void FloodFill(long x, long y, const wxColour& colour, int style=wxFLOOD_SURFACE);
- wxBrush * GetBackground();
- wxBrush * GetBrush();
+ wxBrush& GetBackground();
+ wxBrush& GetBrush();
long GetCharHeight();
long GetCharWidth();
void GetClippingBox(long *OUTPUT, long *OUTPUT,
long *OUTPUT, long *OUTPUT);
- wxFont * GetFont();
+ wxFont& GetFont();
int GetLogicalFunction();
int GetMapMode();
bool GetOptimization();
- wxPen * GetPen();
- //bool GetPixel(int x, int y, wxColour *T_OUTPUT); **** See below.
+ wxPen& GetPen();
+ %addmethods {
+ %new wxColour* GetPixel(long x, long y) {
+ wxColour* wc = new wxColour();
+ self->GetPixel(x, y, wc);
+ return wc;
+ }
+ }
void GetSize(int* OUTPUT, int* OUTPUT); //void GetSize(long* OUTPUT, long* OUTPUT);
wxColour& GetTextBackground();
- void GetTextExtent(const wxString& string, long *OUTPUT, long *OUTPUT,
- long *OUTPUT, long *OUTPUT);
+ void GetTextExtent(const wxString& string, long *OUTPUT, long *OUTPUT);
+ %name(GetFullTextExtent)void GetTextExtent(const wxString& string,
+ long *OUTPUT, long *OUTPUT, long *OUTPUT, long* OUTPUT,
+ const wxFont* font = NULL);
wxColour& GetTextForeground();
long LogicalToDeviceX(long x);
long LogicalToDeviceXRel(long x);
%addmethods {
- %new wxColour* GetPixel(long x, long y) {
- wxColor* wc = new wxColor();
- self->GetPixel(x, y, wc);
- return wc;
- }
-
// This one is my own creation...
- void DrawBitmap(wxBitmap* bitmap, long x, long y, bool swapPalette=TRUE) {
+ 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,
+ self->SetPalette(*bitmap.GetPalette());
+ self->Blit(x, y, bitmap.GetWidth(), bitmap.GetHeight(), memDC,
0, 0, self->GetLogicalFunction());
memDC->SelectObject(wxNullBitmap);
delete memDC;
//---------------------------------------------------------------------------
+class wxWindowDC : public wxDC {
+public:
+ wxWindowDC(wxWindow* win);
+};
+
+//---------------------------------------------------------------------------
+
+#ifndef __WXMSW__
class wxPostScriptDC : public wxDC {
public:
wxPostScriptDC(const wxString& output, bool interactive = TRUE, wxWindow* win = NULL);
};
+#endif
//---------------------------------------------------------------------------
+#ifdef __WXMSW__
class wxPrinterDC : public wxDC {
public:
wxPrinterDC(const wxString& driver, const wxString& device, const wxString& output,
bool interactive = TRUE, int orientation = wxPORTRAIT);
};
+#endif
//---------------------------------------------------------------------------
+#ifdef __WXMSW__
class wxMetaFileDC : public wxDC {
public:
wxMetaFileDC(const wxString& filename = wxPyEmptyStr);
wxMetaFile* Close();
};
+#endif
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
%readonly
+%{
+#if 0
+%}
extern wxFont *wxNORMAL_FONT;
extern wxFont *wxSMALL_FONT;
extern wxFont *wxITALIC_FONT;
extern wxFont wxNullFont;
extern wxColour wxNullColour;
+%readwrite
+%{
+#endif
+%}
+
+//---------------------------------------------------------------------------
+
+class wxPalette {
+public:
+ wxPalette(int LCOUNT, byte* LIST, byte* LIST, byte* LIST);
+ ~wxPalette();
+
+ int GetPixel(byte red, byte green, byte blue);
+ bool GetRGB(int pixel, byte* OUTPUT, byte* OUTPUT, byte* OUTPUT);
+ bool Ok();
+};
+
+//---------------------------------------------------------------------------
+
+enum {
+ wxIMAGELIST_DRAW_NORMAL ,
+ wxIMAGELIST_DRAW_TRANSPARENT,
+ wxIMAGELIST_DRAW_SELECTED,
+ wxIMAGELIST_DRAW_FOCUSED,
+ wxIMAGE_LIST_NORMAL,
+ wxIMAGE_LIST_SMALL,
+ wxIMAGE_LIST_STATE
+};
+
+class wxImageList {
+public:
+ wxImageList(int width, int height, const bool mask=TRUE, int initialCount=1);
+ ~wxImageList();
+
+#ifdef __WXMSW__
+ int Add(const wxBitmap& bitmap, const wxBitmap& mask = wxNullBitmap);
+ %name(AddWithColourMask)int Add(const wxBitmap& bitmap, const wxColour& maskColour);
+ %name(AddIcon)int Add(const wxIcon& icon);
+ bool Replace(int index, const wxBitmap& bitmap, const wxBitmap& mask = wxNullBitmap);
+ %name(ReplaceIcon)bool Replace(int index, const wxIcon& icon);
+#else
+ int Add(const wxBitmap& bitmap);
+ bool Replace(int index, const wxBitmap& bitmap);
+#endif
+
+ bool Draw(int index, wxDC& dc, int x, int x, int flags = wxIMAGELIST_DRAW_NORMAL,
+ const bool solidBackground = FALSE);
+
+ int GetImageCount();
+ bool Remove(int index);
+ bool RemoveAll();
+};
+
+
//---------------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////////////
//
// $Log$
+// Revision 1.14 1999/02/20 10:02:36 RD
+// Changes needed to enable wxGTK compatibility.
+//
+// Revision 1.13 1999/02/20 09:02:58 RD
+// Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a
+// window handle. If you can get the window handle into the python code,
+// it should just work... More news on this later.
+//
+// Added wxImageList, wxToolTip.
+//
+// Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the
+// wxRegConfig class.
+//
+// As usual, some bug fixes, tweaks, etc.
+//
+// Revision 1.12 1999/01/30 07:30:11 RD
+//
+// Added wxSashWindow, wxSashEvent, wxLayoutAlgorithm, etc.
+//
+// Various cleanup, tweaks, minor additions, etc. to maintain
+// compatibility with the current wxWindows.
+//
+// Revision 1.11 1998/12/18 15:49:05 RR
+//
+// wxClipboard now serves the primary selection as well
+// wxPython fixes
+// warning mesages
+//
+// Revision 1.10 1998/12/17 18:05:50 RD
+//
+// wxPython 0.5.2
+// Minor fixes and SWIG code generation for RR's changes. MSW and GTK
+// versions are much closer now!
+//
+// Revision 1.9 1998/12/17 14:07:37 RR
+//
+// Removed minor differences between wxMSW and wxGTK
+//
+// Revision 1.8 1998/12/16 22:10:54 RD
+//
+// Tweaks needed to be able to build wxPython with wxGTK.
+//
+// Revision 1.7 1998/12/15 20:41:18 RD
+// Changed the import semantics from "from wxPython import *" to "from
+// wxPython.wx import *" This is for people who are worried about
+// namespace pollution, they can use "from wxPython import wx" and then
+// prefix all the wxPython identifiers with "wx."
+//
+// Added wxTaskbarIcon for wxMSW.
+//
+// Made the events work for wxGrid.
+//
+// Added wxConfig.
+//
+// Added wxMiniFrame for wxGTK, (untested.)
+//
+// Changed many of the args and return values that were pointers to gdi
+// objects to references to reflect changes in the wxWindows API.
+//
+// Other assorted fixes and additions.
+//
+// Revision 1.6 1998/11/25 08:45:24 RD
+//
+// Added wxPalette, wxRegion, wxRegionIterator, wxTaskbarIcon
+// Added events for wxGrid
+// Other various fixes and additions
+//
+// Revision 1.5 1998/10/20 06:43:57 RD
+// New wxTreeCtrl wrappers (untested)
+// some changes in helpers
+// etc.
+//
+// Revision 1.4 1998/10/02 06:40:38 RD
+//
+// Version 0.4 of wxPython for MSW.
+//
+// Revision 1.3 1998/08/18 19:48:16 RD
+// more wxGTK compatibility things.
+//
+// It builds now but there are serious runtime problems...
+//
+// Revision 1.2 1998/08/15 07:36:35 RD
+// - Moved the header in the .i files out of the code that gets put into
+// the .cpp files. It caused CVS conflicts because of the RCS ID being
+// different each time.
+//
+// - A few minor fixes.
+//
// Revision 1.1 1998/08/09 08:25:50 RD
// Initial version
//