]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_bitmap.i
Moved some enums around to better match the C++ headers
[wxWidgets.git] / wxPython / src / _bitmap.i
index 3430d1955537a86985ae53f3d9faa348d46a0717..44f39290e6aa9a9f457d6b9be5269f58b6f12d9e 100644 (file)
@@ -53,12 +53,12 @@ public:
         
     ~wxBitmap();
 
-    DocCtorStrName(
-        wxBitmap(int width, int height, int depth=-1),
-        "Creates a new bitmap of the given size.  A depth of -1 indicates the depth of\n"
-        "the current screen or visual. Some platforms only support 1 for monochrome and\n"
-        "-1 for the current colour setting.",
-        EmptyBitmap);
+//     DocCtorStrName(
+//         wxBitmap(int width, int height, int depth=-1),
+//         "Creates a new bitmap of the given size.  A depth of -1 indicates the depth of\n"
+//         "the current screen or visual. Some platforms only support 1 for monochrome and\n"
+//         "-1 for the current colour setting.",
+//         EmptyBitmap);
 
     DocCtorStrName(
         wxBitmap(const wxIcon& icon),
@@ -100,6 +100,21 @@ public:
             PyString_AsStringAndSize(bits, &buf, &length);
             return new wxBitmap(buf, width, height, depth);
         }
+
+
+        DocStr(wxBitmap(const wxSize& size, int depth=-1), 
+               "Creates a new bitmap of the given size.  A depth of -1 indicates
+the depth of the current screen or visual. Some platforms only
+support 1 for monochrome and -1 for the current colour setting.");
+
+        %nokwargs wxBitmap(int width, int height, int depth=-1);
+        %nokwargs wxBitmap(const wxSize& size, int depth=-1);
+        %name(EmptyBitmap)wxBitmap(int width, int height, int depth=-1) {
+            return new wxBitmap(width, height, depth);
+        }
+        %name(EmptyBitmap)wxBitmap(const wxSize& size, int depth=-1) {
+            return new wxBitmap(size.x, size.y, depth);
+        }
     }    
 
     
@@ -110,7 +125,9 @@ public:
     // wxGDIImage methods
 #ifdef __WXMSW__
     long GetHandle();
-    void SetHandle(long handle);
+    %extend {
+        void SetHandle(long handle) { self->SetHandle((WXHANDLE)handle); }
+    }
 #endif
 
     bool Ok();
@@ -126,6 +143,16 @@ public:
            "monochrome bitmap.");
     int GetDepth();
 
+
+    %extend {
+        DocStr(GetSize, "Get the size of the bitmap.");
+        wxSize GetSize() {
+            wxSize size(self->GetWidth(), self->GetHeight());
+            return size;
+        }
+    }
+
+    
     DocStr(ConvertToImage,
            "Creates a platform-independent image from a platform-dependent bitmap. This\n"
            "preserves mask information so that bitmaps and images can be converted back\n"
@@ -180,6 +207,13 @@ public:
     DocStr(SetDepth, "Set the depth property (does not affect the bitmap data).")
     virtual void SetDepth(int depth);
 
+    %extend {
+        DocStr(SetSize, "Set the bitmap size");
+        void SetSize(const wxSize& size) {
+            self->SetWidth(size.x);
+            self->SetHeight(size.y);
+        }
+    }
     
 #ifdef __WXMSW__
     bool CopyFromCursor(const wxCursor& cursor);
@@ -188,6 +222,11 @@ public:
 #endif
 
     %pythoncode { def __nonzero__(self): return self.Ok() }
+
+    %extend {
+        bool __eq__(const wxBitmap* other) { return other ? (*self == *other) : False; }
+        bool __ne__(const wxBitmap* other) { return other ? (*self != *other) : True;  }
+    }
 };
 
 
@@ -201,19 +240,29 @@ DocStr(wxMask,
 
 class wxMask : public wxObject {
 public:
+#if 0
     DocCtorStr(
         wxMask(const wxBitmap& bitmap),
         "Constructs a mask from a monochrome bitmap.");
+#endif
 
-    DocCtorStrName(
-        wxMask(const wxBitmap& bitmap, const wxColour& colour),
-        "Constructs a mask from a bitmap and a colour in that bitmap that indicates the\n"
-        "background.",
-        MaskColour);
+    DocStr(wxMask,
+           "Constructs a mask from a bitmap and a colour in that bitmap that indicates\n"
+           "the transparent portions of the mask, by default BLACK is used.");
+    
+    %extend {
+        wxMask(const wxBitmap& bitmap, const wxColour& colour = wxNullColour) {
+            if ( !colour.Ok() )
+                return new wxMask(bitmap, *wxBLACK);
+            else
+                return new wxMask(bitmap, colour);
+        }
+    }
     
     //~wxMask();
-
 };
 
+%pythoncode { MaskColour = Mask }
+
 //---------------------------------------------------------------------------
 //---------------------------------------------------------------------------