]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_image.i
reSWIGged
[wxWidgets.git] / wxPython / src / _image.i
index 7c3ea504671eebe2f56254d198c96cb861b0a8d2..ea4cca9f1000ff7473102c9519f58840b511b1d4 100644 (file)
@@ -106,6 +106,24 @@ public:
             memcpy(copy, data, width*height*3);
             return new wxImage(width, height, copy, false);
         }
+        %name(ImageFromDataWithAlpha) 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);
+        }
     }
 
     void Create( int width, int height );
@@ -146,6 +164,17 @@ If the image image doesn't have alpha channel, ConvertAlphaToMask does
 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,