]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/src/image.i
Compilation fixes
[wxWidgets.git] / utils / wxPython / src / image.i
index c87d3ddb4a312f0d25d6cc3dafd31edcafa95a6a..d6095c7a5200f30f8da21135ae112aeccb175d1c 100644 (file)
@@ -32,7 +32,7 @@
 
 class wxImageHandler {
 public:
 
 class wxImageHandler {
 public:
-    wxImageHandler();
+    // wxImageHandler();    Abstract Base Class
     wxString GetName();
     wxString GetExtension();
     long GetType();
     wxString GetName();
     wxString GetExtension();
     long GetType();
@@ -72,6 +72,20 @@ public:
     wxGIFHandler();
 };
 
     wxGIFHandler();
 };
 
+class wxPNMHandler : public wxImageHandler {
+public:
+    wxPNMHandler();
+};
+
+class wxPCXHandler : public wxImageHandler {
+public:
+    wxPCXHandler();
+};
+
+class wxTIFFHandler : public wxImageHandler {
+public:
+    wxTIFFHandler();
+};
 
 
 //---------------------------------------------------------------------------
 
 
 //---------------------------------------------------------------------------
@@ -102,8 +116,32 @@ public:
     int GetWidth();
     int GetHeight();
 
     int GetWidth();
     int GetHeight();
 
-    unsigned char *GetData();
-    void SetData( unsigned char *data );
+    wxImage GetSubImage(const wxRect& rect);
+
+    //unsigned char *GetData();
+    //void SetData( unsigned char *data );
+
+    %addmethods {
+        PyObject* GetData() {
+            unsigned char* data = self->GetData();
+            int len = self->GetWidth() * self->GetHeight() * 3;
+            return PyString_FromStringAndSize((char*)data, len);
+        }
+
+        void SetData(PyObject* data) {
+            unsigned char* dataPtr;
+
+            if (! PyString_Check(data)) {
+                PyErr_SetString(PyExc_TypeError, "Expected string object");
+                return /* NULL */ ;
+            }
+
+            size_t len = self->GetWidth() * self->GetHeight() * 3;
+            dataPtr = new unsigned char[len];
+            memcpy(dataPtr, PyString_AsString(data), len);
+            self->SetData(dataPtr);
+        }
+    }
 
     void SetMaskColour( unsigned char r, unsigned char g, unsigned char b );
     unsigned char GetMaskRed();
 
     void SetMaskColour( unsigned char r, unsigned char g, unsigned char b );
     unsigned char GetMaskRed();
@@ -145,9 +183,7 @@ void wxImage_AddHandler(wxImageHandler *handler);
     }
 %}
 
     }
 %}
 
+void wxInitAllImageHandlers();
+
 //---------------------------------------------------------------------------
 //---------------------------------------------------------------------------
 //---------------------------------------------------------------------------
 //---------------------------------------------------------------------------
-
-
-
-