]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/image.h
BC++ 5.5 and later supports wxUSE_ON_FATAL_EXCEPTION
[wxWidgets.git] / include / wx / image.h
index bc19ddd607f9c6fd78c52b2283ac6461071293f3..153065c764b3cb2a537929c65d164d9a26e439bf 100644 (file)
@@ -10,7 +10,7 @@
 #ifndef _WX_IMAGE_H_
 #define _WX_IMAGE_H_
 
 #ifndef _WX_IMAGE_H_
 #define _WX_IMAGE_H_
 
-#if defined(__GNUG__) && !defined(__APPLE__)
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma interface "image.h"
 #endif
 
 #pragma interface "image.h"
 #endif
 
@@ -18,9 +18,6 @@
 #include "wx/object.h"
 #include "wx/string.h"
 #include "wx/gdicmn.h"
 #include "wx/object.h"
 #include "wx/string.h"
 #include "wx/gdicmn.h"
-#if WXWIN_COMPATIBILITY_2_2
-#  include "wx/bitmap.h"
-#endif
 #include "wx/hashmap.h"
 
 #if wxUSE_STREAMS
 #include "wx/hashmap.h"
 
 #if wxUSE_STREAMS
@@ -51,7 +48,7 @@ class WXDLLEXPORT wxImageHandler: public wxObject
 {
 public:
     wxImageHandler()
 {
 public:
     wxImageHandler()
-        : m_name(wxT("")), m_extension(wxT("")), m_mime(), m_type(0)
+        : m_name(wxEmptyString), m_extension(wxEmptyString), m_mime(), m_type(0)
         { }
 
 #if wxUSE_STREAMS
         { }
 
 #if wxUSE_STREAMS
@@ -140,7 +137,7 @@ class WXDLLEXPORT wxImage: public wxObject
 {
 public:
     wxImage();
 {
 public:
     wxImage();
-    wxImage( int width, int height );
+    wxImage( int width, int height, bool clear = true );
     wxImage( int width, int height, unsigned char* data, bool static_data = FALSE );
     wxImage( const wxString& name, long type = wxBITMAP_TYPE_ANY, int index = -1 );
     wxImage( const wxString& name, const wxString& mimetype, int index = -1 );
     wxImage( int width, int height, unsigned char* data, bool static_data = FALSE );
     wxImage( const wxString& name, long type = wxBITMAP_TYPE_ANY, int index = -1 );
     wxImage( const wxString& name, const wxString& mimetype, int index = -1 );
@@ -153,17 +150,8 @@ public:
     wxImage( const wxImage& image );
     wxImage( const wxImage* image );
 
     wxImage( const wxImage& image );
     wxImage( const wxImage* image );
 
-#if WXWIN_COMPATIBILITY_2_2 && wxUSE_GUI
-    // conversion to/from wxBitmap (deprecated, use wxBitmap's methods instead):
-    wxDEPRECATED( wxImage(const wxBitmap &bitmap) );
-    wxDEPRECATED( wxBitmap ConvertToBitmap() const );
-#ifdef __WXGTK__
-    wxBitmap ConvertToMonoBitmap( unsigned char red, unsigned char green, unsigned char blue ) const;
-#endif
-#endif
-
-    void Create( int width, int height );
-    void Create( int width, int height, unsigned char* data, bool static_data = FALSE );
+    bool Create( int width, int height, bool clear = true );
+    bool Create( int width, int height, unsigned char* data, bool static_data = FALSE );
     void Destroy();
 
     // creates an identical copy of the image (the = operator
     void Destroy();
 
     // creates an identical copy of the image (the = operator
@@ -197,7 +185,8 @@ public:
     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 );
 
-    // convert to monochrome image (<r,g,b> will be replaced by white, everything else by black)
+    // convert to monochrome image (<r,g,b> will be replaced by white,
+    // everything else by black)
     wxImage ConvertToMono( unsigned char r, unsigned char g, unsigned char b ) const;
 
     // these routines are slow but safe
     wxImage ConvertToMono( unsigned char r, unsigned char g, unsigned char b ) const;
 
     // these routines are slow but safe
@@ -207,7 +196,7 @@ public:
     unsigned char GetBlue( int x, int y ) const;
 
     void SetAlpha(int x, int y, unsigned char alpha);
     unsigned char GetBlue( int x, int y ) const;
 
     void SetAlpha(int x, int y, unsigned char alpha);
-    unsigned char GetAlpha(int x, int y);
+    unsigned char GetAlpha(int x, int y) const;
 
     // find first colour that is not used in the image and has higher
     // RGB values than <startR,startG,startB>
 
     // find first colour that is not used in the image and has higher
     // RGB values than <startR,startG,startB>
@@ -218,6 +207,10 @@ 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:
+    bool ConvertAlphaToMask(unsigned char threshold = 128);
+
     static bool CanRead( const wxString& name );
     static int GetImageCount( const wxString& name, long type = wxBITMAP_TYPE_ANY );
     virtual bool LoadFile( const wxString& name, long type = wxBITMAP_TYPE_ANY, int index = -1 );
     static bool CanRead( const wxString& name );
     static int GetImageCount( const wxString& name, long type = wxBITMAP_TYPE_ANY );
     virtual bool LoadFile( const wxString& name, long type = wxBITMAP_TYPE_ANY, int index = -1 );
@@ -306,6 +299,8 @@ public:
     static wxImageHandler *FindHandler( long imageType );
     static wxImageHandler *FindHandlerMime( const wxString& mimetype );
 
     static wxImageHandler *FindHandler( long imageType );
     static wxImageHandler *FindHandlerMime( const wxString& mimetype );
 
+    static wxString GetImageExtWildcard();
+
     static void CleanUpHandlers();
     static void InitStandardHandlers();
 
     static void CleanUpHandlers();
     static void InitStandardHandlers();