]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_image.i
added a test to check how exception handling works with Win32 SEH; corrected copyright
[wxWidgets.git] / wxPython / src / _image.i
index a3e9547aed7e33d7883287e024b2690f4d587c1d..4309d556b6dd24158ec21bdc82315b8868b92df1 100644 (file)
@@ -76,15 +76,32 @@ success flag and rgb values.", "");
 
 class wxImage : public wxObject {
 public:
 
 class wxImage : public wxObject {
 public:
-    wxImage( const wxString& name, long type = wxBITMAP_TYPE_ANY, int index = -1 );
+    DocCtorStr(
+        wxImage( const wxString& name, long type = wxBITMAP_TYPE_ANY, int index = -1 ),
+        "", "");
+    
     ~wxImage();
 
     // Alternate constructors
     ~wxImage();
 
     // Alternate constructors
-    %name(ImageFromMime) wxImage(const wxString& name, const wxString& mimetype, int index = -1);
-    %name(ImageFromStream) wxImage(wxInputStream& stream, long type = wxBITMAP_TYPE_ANY, int index = -1);
-    %name(ImageFromStreamMime) wxImage(wxInputStream& stream, const wxString& mimetype, int index = -1 );
+    DocCtorStrName(
+        wxImage(const wxString& name, const wxString& mimetype, int index = -1),
+        "", "",
+        ImageFromMime);
+    
+    DocCtorStrName(
+        wxImage(wxInputStream& stream, long type = wxBITMAP_TYPE_ANY, int index = -1),
+        "", "",
+        ImageFromStream);
+    
+    DocCtorStrName(
+        wxImage(wxInputStream& stream, const wxString& mimetype, int index = -1 ),
+        "", "",
+        ImageFromStreamMime);
+    
     %extend {
     %extend {
-        %name(EmptyImage) wxImage(int width=0, int height=0, bool clear = True) {
+        %rename(EmptyImage) wxImage(int width=0, int height=0, bool clear = true);
+        wxImage(int width=0, int height=0, bool clear = true)
+        {
             if (width > 0 && height > 0)
                 return new wxImage(width, height, clear);
             else
             if (width > 0 && height > 0)
                 return new wxImage(width, height, clear);
             else
@@ -92,11 +109,15 @@ public:
         }
 
         MustHaveApp(wxImage(const wxBitmap &bitmap));
         }
 
         MustHaveApp(wxImage(const wxBitmap &bitmap));
-        %name(ImageFromBitmap) wxImage(const wxBitmap &bitmap) {
+        %rename(ImageFromBitmap) wxImage(const wxBitmap &bitmap);
+        wxImage(const wxBitmap &bitmap)
+        {
             return new wxImage(bitmap.ConvertToImage());
         }
 
             return new wxImage(bitmap.ConvertToImage());
         }
 
-        %name(ImageFromData) wxImage(int width, int height, unsigned char* data) {
+        %rename(ImageFromData) wxImage(int width, int height, unsigned char* data);
+        wxImage(int width, int height, unsigned char* data)
+        {
             // Copy the source data so the wxImage can clean it up later
             unsigned char* copy = (unsigned char*)malloc(width*height*3);
             if (copy == NULL) {
             // Copy the source data so the wxImage can clean it up later
             unsigned char* copy = (unsigned char*)malloc(width*height*3);
             if (copy == NULL) {
@@ -104,7 +125,28 @@ public:
                 return NULL;
             }
             memcpy(copy, data, width*height*3);
                 return NULL;
             }
             memcpy(copy, data, width*height*3);
-            return new wxImage(width, height, copy, False);
+            return new wxImage(width, height, copy, false);
+        }
+
+        
+        %rename(ImageFromDataWithAlpha) wxImage(int width, int height, unsigned char* data, unsigned char* alpha);
+        wxImage(int width, int height, unsigned char* data, unsigned char* alpha)
+        {
+            // Copy the source data so the wxImage can clean it up later
+            unsigned char* dcopy = (unsigned char*)malloc(width*height*3);
+            if (dcopy == NULL) {
+                PyErr_NoMemory();
+                return NULL;
+            }
+            memcpy(dcopy, data, width*height*3);
+            unsigned char* acopy = (unsigned char*)malloc(width*height);
+            if (acopy == NULL) {
+                PyErr_NoMemory();
+                return NULL;
+            }
+            memcpy(acopy, alpha, width*height);
+            
+            return new wxImage(width, height, dcopy, acopy, false);
         }
     }
 
         }
     }
 
@@ -146,6 +188,17 @@ If the image image doesn't have alpha channel, ConvertAlphaToMask does
 nothing.", "");
     
 
 nothing.", "");
     
 
+    DocDeclStr(
+        bool , ConvertColourToAlpha( unsigned char r, unsigned char g, unsigned char b ),
+        "This method converts an image where the original alpha information is
+only available as a shades of a colour (actually shades of grey)
+typically when you draw anti-aliased text into a bitmap. The DC
+drawing routines draw grey values on the black background although
+they actually mean to draw white with differnt alpha values.  This
+method reverses it, assuming a black (!) background and white text.
+The method will then fill up the whole image with the colour given.", "");
+    
+
     
     // Set image's mask to the area of 'mask' that has <mr,mg,mb> colour
     bool SetMaskFromImage(const wxImage & mask,
     
     // Set image's mask to the area of 'mask' that has <mr,mg,mb> colour
     bool SetMaskFromImage(const wxImage & mask,
@@ -161,14 +214,14 @@ nothing.", "");
     static int GetImageCount( const wxString& name, long type = wxBITMAP_TYPE_ANY );
 
     bool LoadFile( const wxString& name, long type = wxBITMAP_TYPE_ANY, int index = -1 );
     static int GetImageCount( const wxString& name, long type = wxBITMAP_TYPE_ANY );
 
     bool LoadFile( const wxString& name, long type = wxBITMAP_TYPE_ANY, int index = -1 );
-    %name(LoadMimeFile)bool LoadFile( const wxString& name, const wxString& mimetype, int index = -1 );
+    %Rename(LoadMimeFile, bool,  LoadFile( const wxString& name, const wxString& mimetype, int index = -1 ));
 
     bool SaveFile( const wxString& name, int type );
 
     bool SaveFile( const wxString& name, int type );
-    %name(SaveMimeFile)bool SaveFile( const wxString& name, const wxString& mimetype );
+    %Rename(SaveMimeFile, bool,  SaveFile( const wxString& name, const wxString& mimetype ));
 
 
-    %name(CanReadStream) static bool CanRead( wxInputStream& stream );
-    %name(LoadStream) bool LoadFile( wxInputStream& stream, long type = wxBITMAP_TYPE_ANY, int index = -1 );
-    %name(LoadMimeStream) bool LoadFile( wxInputStream& stream, const wxString& mimetype, int index = -1 );
+    %Rename(CanReadStream, static bool,  CanRead( wxInputStream& stream ));
+    %Rename(LoadStream, bool,  LoadFile( wxInputStream& stream, long type = wxBITMAP_TYPE_ANY, int index = -1 ));
+    %Rename(LoadMimeStream, bool,  LoadFile( wxInputStream& stream, const wxString& mimetype, int index = -1 ));
 
     bool Ok();
     int GetWidth();
 
     bool Ok();
     int GetWidth();
@@ -297,13 +350,13 @@ nothing.", "");
     unsigned char GetMaskRed();
     unsigned char GetMaskGreen();
     unsigned char GetMaskBlue();
     unsigned char GetMaskRed();
     unsigned char GetMaskGreen();
     unsigned char GetMaskBlue();
-    void SetMask( bool mask = True );
+    void SetMask( bool mask = true );
     bool HasMask();
 
     wxImage Rotate(double angle, const wxPoint & centre_of_rotation,
     bool HasMask();
 
     wxImage Rotate(double angle, const wxPoint & centre_of_rotation,
-                   bool interpolating = True, wxPoint * offset_after_rotation = NULL) const ;
-    wxImage Rotate90( bool clockwise = True ) ;
-    wxImage Mirror( bool horizontally = True ) ;
+                   bool interpolating = true, wxPoint * offset_after_rotation = NULL) const ;
+    wxImage Rotate90( bool clockwise = true ) ;
+    wxImage Mirror( bool horizontally = true ) ;
 
     void Replace( unsigned char r1, unsigned char g1, unsigned char b1,
                   unsigned char r2, unsigned char g2, unsigned char b2 );
 
     void Replace( unsigned char r1, unsigned char g1, unsigned char b1,
                   unsigned char r2, unsigned char g2, unsigned char b2 );
@@ -312,7 +365,7 @@ nothing.", "");
     wxImage ConvertToMono( unsigned char r, unsigned char g, unsigned char b ) const;
 
     void SetOption(const wxString& name, const wxString& value);
     wxImage ConvertToMono( unsigned char r, unsigned char g, unsigned char b ) const;
 
     void SetOption(const wxString& name, const wxString& value);
-    %name(SetOptionInt)void SetOption(const wxString& name, int value);
+    %Rename(SetOptionInt, void,  SetOption(const wxString& name, int value));
     wxString GetOption(const wxString& name) const;
     int GetOptionInt(const wxString& name) const;
     bool HasOption(const wxString& name) const;
     wxString GetOption(const wxString& name) const;
     int GetOptionInt(const wxString& name) const;
     bool HasOption(const wxString& name) const;