]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/bitmap.h
Make storing non-trivial data in wxThreadSpecificInfo possible.
[wxWidgets.git] / interface / wx / bitmap.h
index 2edeee959f439365a8ced2955c37b04ebe3fd960..d6f603b9076e55c88aa75daa713901b1e0be8a26 100644 (file)
@@ -2,7 +2,6 @@
 // Name:        bitmap.h
 // Purpose:     interface of wxBitmap* classes
 // Author:      wxWidgets team
-// RCS-ID:      $Id$
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -92,6 +91,12 @@ public:
         Loads a bitmap from a file or resource, putting the resulting data into
         @a bitmap.
 
+        @note Under MSW, when loading a bitmap from resources (i.e. using @c
+            wxBITMAP_TYPE_BMP_RESOURCE as @a type), the light grey colour is
+            considered to be transparent, for historical reasons. If you want
+            to handle the light grey pixels normally instead, call
+            SetMask(NULL) after loading the bitmap.
+
         @param bitmap
             The bitmap object which is to be affected by this operation.
         @param name
@@ -584,6 +589,31 @@ public:
     */
     virtual bool LoadFile(const wxString& name, wxBitmapType type = wxBITMAP_DEFAULT_TYPE);
 
+    /**
+        Loads a bitmap from the memory containing image data in PNG format.
+
+        This helper function provides the simplest way to create a wxBitmap
+        from PNG image data. On most platforms, it's simply a wrapper around
+        wxImage loading functions and so requires the PNG image handler to be
+        registered by either calling wxInitAllImageHandlers() which also
+        registers all the other image formats or including the necessary
+        header:
+        @code
+            #include <wx/imagpng.h>
+        @endcode
+        and calling
+        @code
+            wxImage::AddHandler(new wxPNGHandler);
+        @endcode
+        in your application startup code.
+
+        However under OS X this function uses native image loading and so
+        doesn't require wxWidgets PNG support.
+
+        @since 2.9.5
+     */
+    static wxBitmap NewFromPNGData(const void* data, size_t size);
+
     /**
         Finds the handler with the given name, and removes it.
         The handler is not deleted.
@@ -710,19 +740,11 @@ public:
 
     /**
         Constructs a mask from a monochrome bitmap.
-
-        @beginWxPythonOnly
-        This is the default constructor for wxMask in wxPython.
-        @endWxPythonOnly
     */
     wxMask(const wxBitmap& bitmap);
 
     /**
         Constructs a mask from a bitmap and a colour that indicates the background.
-
-        @beginWxPythonOnly
-        wxPython has an alternate wxMask constructor matching this form called wxMaskColour.
-        @endWxPythonOnly
     */
     wxMask(const wxBitmap& bitmap, const wxColour& colour);
 
@@ -752,5 +774,13 @@ public:
         Constructs a mask from a bitmap and a colour that indicates the background.
     */
     bool Create(const wxBitmap& bitmap, const wxColour& colour);
+
+    /**
+        Returns the mask as a monochrome bitmap.
+        Currently this method is implemented in wxMSW, wxGTK and wxOSX.
+
+        @since 2.9.5
+    */
+    wxBitmap GetBitmap() const;
 };