]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/image.h
another fix for wxUSE_DRAG_AND_DROP==0 build
[wxWidgets.git] / include / wx / image.h
index b2edab0779438dfc9929bf50418b2882f2c3ccf6..e0a6760eb3f8b29c088a9de121d232596ed9c6ff 100644 (file)
@@ -36,6 +36,9 @@
 
 #define wxIMAGE_OPTION_RESOLUTIONUNIT        wxString(_T("ResolutionUnit"))
 
 
 #define wxIMAGE_OPTION_RESOLUTIONUNIT        wxString(_T("ResolutionUnit"))
 
+#define wxIMAGE_OPTION_MAX_WIDTH             wxString(_T("MaxWidth"))
+#define wxIMAGE_OPTION_MAX_HEIGHT            wxString(_T("MaxHeight"))
+
 // constants used with wxIMAGE_OPTION_RESOLUTIONUNIT
 //
 // NB: don't change these values, they correspond to libjpeg constants
 // constants used with wxIMAGE_OPTION_RESOLUTIONUNIT
 //
 // NB: don't change these values, they correspond to libjpeg constants
@@ -233,10 +236,13 @@ public:
     bool Create( const char* const* xpmData );
 #ifdef __BORLANDC__
     // needed for Borland 5.5
     bool Create( const char* const* xpmData );
 #ifdef __BORLANDC__
     // needed for Borland 5.5
-    wxImage( char** xpmData ) { Create(wx_const_cast(const char* const*, xpmData)); }
-    bool Create( char** xpmData ) { return Create(wx_const_cast(const char* const*, xpmData)); }
+    wxImage( char** xpmData ) { Create(const_cast<const char* const*>(xpmData)); }
+    bool Create( char** xpmData ) { return Create(const_cast<const char* const*>(xpmData)); }
 #endif
     void Destroy();
 #endif
     void Destroy();
+   
+    // initialize the image data with zeroes
+    void Clear(unsigned char value = 0);
 
     // creates an identical copy of the image (the = operator
     // just raises the ref count)
 
     // creates an identical copy of the image (the = operator
     // just raises the ref count)
@@ -280,7 +286,7 @@ public:
     // Rotates the image about the given point, 'angle' radians.
     // Returns the rotated image, leaving this image intact.
     wxImage Rotate(double angle, const wxPoint & centre_of_rotation,
     // Rotates the image about the given point, 'angle' radians.
     // Returns the rotated image, leaving this image intact.
     wxImage Rotate(double angle, const wxPoint & centre_of_rotation,
-                   bool interpolating = true, wxPoint * offset_after_rotation = (wxPoint*) NULL) const;
+                   bool interpolating = true, wxPoint * offset_after_rotation = NULL) const;
 
     wxImage Rotate90( bool clockwise = true ) const;
     wxImage Mirror( bool horizontally = true ) const;
 
     wxImage Rotate90( bool clockwise = true ) const;
     wxImage Mirror( bool horizontally = true ) const;
@@ -316,9 +322,13 @@ public:
     bool SetMaskFromImage(const wxImage & mask,
                           unsigned char mr, unsigned char mg, unsigned char mb);
 
     bool SetMaskFromImage(const wxImage & mask,
                           unsigned char mr, unsigned char mg, unsigned char mb);
 
-    // converts image's alpha channel to mask, if it has any, does nothing
-    // otherwise:
+    // converts image's alpha channel to mask (choosing mask colour
+    // automatically or using the specified colour for the mask), if it has
+    // any, does nothing otherwise:
     bool ConvertAlphaToMask(unsigned char threshold = wxIMAGE_ALPHA_THRESHOLD);
     bool ConvertAlphaToMask(unsigned char threshold = wxIMAGE_ALPHA_THRESHOLD);
+    void ConvertAlphaToMask(unsigned char mr, unsigned char mg, unsigned char mb,
+                            unsigned char threshold = wxIMAGE_ALPHA_THRESHOLD);
+
 
     // This method converts an image where the original alpha
     // information is only available as a shades of a colour
 
     // This method converts an image where the original alpha
     // information is only available as a shades of a colour
@@ -358,9 +368,17 @@ public:
     int GetWidth() const;
     int GetHeight() const;
 
     int GetWidth() const;
     int GetHeight() const;
 
+    wxSize GetSize() const
+        { return wxSize(GetWidth(), GetHeight()); }
+
     // Gets the type of image found by LoadFile or specified with SaveFile
     wxBitmapType GetType() const;
 
     // Gets the type of image found by LoadFile or specified with SaveFile
     wxBitmapType GetType() const;
 
+    // Set the image type, this is normally only called if the image is being
+    // created from data in the given format but not using LoadFile() (e.g.
+    // wxGIFDecoder uses this)
+    void SetType(wxBitmapType type);
+
     // these functions provide fastest access to wxImage data but should be
     // used carefully as no checks are done
     unsigned char *GetData() const;
     // these functions provide fastest access to wxImage data but should be
     // used carefully as no checks are done
     unsigned char *GetData() const;
@@ -435,7 +453,7 @@ public:
     static RGBValue HSVtoRGB(const HSVValue& hsv);
 
 #if WXWIN_COMPATIBILITY_2_8
     static RGBValue HSVtoRGB(const HSVValue& hsv);
 
 #if WXWIN_COMPATIBILITY_2_8
-    wxDEPRECATED(
+    wxDEPRECATED_CONSTRUCTOR(
         wxImage(const wxString& name, long type, int index = -1)
         {
             LoadFile(name, (wxBitmapType)type, index);
         wxImage(const wxString& name, long type, int index = -1)
         {
             LoadFile(name, (wxBitmapType)type, index);
@@ -443,7 +461,7 @@ public:
     )
 
 #if wxUSE_STREAMS
     )
 
 #if wxUSE_STREAMS
-    wxDEPRECATED(
+    wxDEPRECATED_CONSTRUCTOR(
         wxImage(wxInputStream& stream, long type, int index = -1)
         {
             LoadFile(stream, (wxBitmapType)type, index);
         wxImage(wxInputStream& stream, long type, int index = -1)
         {
             LoadFile(stream, (wxBitmapType)type, index);