]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/src/gdi.i
Added CanRead()
[wxWidgets.git] / utils / wxPython / src / gdi.i
index 88c48fe92de3ed26ea107c61d2bf50d880216194..ba3a8aa788bfa59632c064c946884f5511ad978c 100644 (file)
@@ -16,6 +16,7 @@
 %{
 #include "helpers.h"
 #include <wx/metafile.h>
+#include <wx/imaglist.h>
 #ifndef __WXMSW__
 #include <wx/dcps.h>
 #endif
@@ -60,17 +61,30 @@ public:
 %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);
     }
 
-                                // This one won't own the reference, so Python won't call
-                                // the dtor, this is good for toolbars and such where
-                                // the parent will manage the bitmap.
+                                // This one won't own the reference, so Python
+                                // won't call the dtor, this is good for
+                                // toolbars and such where the parent will
+                                // manage the bitmap.
     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
 %}
 
 //---------------------------------------------------------------------------
@@ -94,10 +108,8 @@ public:
 
 class wxIcon : public wxBitmap {
 public:
-#ifdef __WXMSW__
     wxIcon(const wxString& name, long flags,
            int desiredWidth = -1, int desiredHeight = -1);
-#endif
     ~wxIcon();
 
     int GetDepth();
@@ -110,6 +122,7 @@ public:
     void SetWidth(int width);
 };
 
+
 //---------------------------------------------------------------------------
 
 class wxCursor : public wxBitmap {
@@ -271,6 +284,7 @@ public:
     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);
@@ -305,10 +319,13 @@ public:
             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,
-                       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);
@@ -342,8 +359,10 @@ public:
         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);
@@ -436,6 +455,9 @@ public:
 
 
 %readonly
+%{
+#if 0
+%}
 extern wxFont *wxNORMAL_FONT;
 extern wxFont *wxSMALL_FONT;
 extern wxFont *wxITALIC_FONT;
@@ -484,6 +506,11 @@ extern wxPalette wxNullPalette;
 extern wxFont   wxNullFont;
 extern wxColour wxNullColour;
 
+%readwrite
+%{
+#endif
+%}
+
 //---------------------------------------------------------------------------
 
 class wxPalette {
@@ -498,85 +525,40 @@ public:
 
 //---------------------------------------------------------------------------
 
+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.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
-//
-//