]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/bitmap.h
Recognize VC12 (a.k.a. MSVS 2013) and define __VISUALC12__ for it.
[wxWidgets.git] / interface / wx / bitmap.h
index 2a2d6b5cb80008d549588d10b42c734ba68f5969..5b6e27864422ff7e67a94e6285d40f7d2664fabb 100644 (file)
@@ -165,7 +165,7 @@ public:
     If you need direct access the bitmap data instead going through
     drawing to it using wxMemoryDC you need to use the wxPixelData
     class (either wxNativePixelData for RGB bitmaps or wxAlphaPixelData
     If you need direct access the bitmap data instead going through
     drawing to it using wxMemoryDC you need to use the wxPixelData
     class (either wxNativePixelData for RGB bitmaps or wxAlphaPixelData
-    for bitmaps with an additionaly alpha channel).
+    for bitmaps with an additionally alpha channel).
 
     Note that many wxBitmap functions take a @e type parameter, which is a 
     value of the ::wxBitmapType enumeration.
 
     Note that many wxBitmap functions take a @e type parameter, which is a 
     value of the ::wxBitmapType enumeration.
@@ -183,6 +183,17 @@ public:
     Note that all available wxBitmapHandlers for a given wxWidgets port are 
     automatically loaded at startup so you won't need to use wxBitmap::AddHandler.
 
     Note that all available wxBitmapHandlers for a given wxWidgets port are 
     automatically loaded at startup so you won't need to use wxBitmap::AddHandler.
 
+    More on the difference between wxImage and wxBitmap: wxImage is just a
+    buffer of RGB bytes with an optional buffer for the alpha bytes. It is all
+    generic, platform independent and image file format independent code. It
+    includes generic code for scaling, resizing, clipping, and other manipulations
+    of the image data. OTOH, wxBitmap is intended to be a wrapper of whatever is
+    the native image format that is quickest/easiest to draw to a DC or to be the
+    target of the drawing operations performed on a wxMemoryDC. By splitting the
+    responsibilities between wxImage/wxBitmap like this then it's easier to use
+    generic code shared by all platforms and image types for generic operations and
+    platform specific code where performance or compatibility is needed.
+
     @library{wxcore}
     @category{gdi}
 
     @library{wxcore}
     @category{gdi}
 
@@ -508,6 +519,9 @@ public:
 
     /**
         Returns disabled (dimmed) version of the bitmap.
 
     /**
         Returns disabled (dimmed) version of the bitmap.
+
+        This method is not available when <code>wxUSE_IMAGE == 0</code>.
+
         @since 2.9.0
     */
     wxBitmap ConvertToDisabled(unsigned char brightness = 255) const;
         @since 2.9.0
     */
     wxBitmap ConvertToDisabled(unsigned char brightness = 255) const;
@@ -570,6 +584,31 @@ public:
     */
     virtual bool LoadFile(const wxString& name, wxBitmapType type = wxBITMAP_DEFAULT_TYPE);
 
     */
     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.
     /**
         Finds the handler with the given name, and removes it.
         The handler is not deleted.
@@ -696,19 +735,11 @@ public:
 
     /**
         Constructs a mask from a monochrome bitmap.
 
     /**
         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.
     */
     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);
 
     */
     wxMask(const wxBitmap& bitmap, const wxColour& colour);
 
@@ -738,5 +769,13 @@ public:
         Constructs a mask from a bitmap and a colour that indicates the background.
     */
     bool Create(const wxBitmap& bitmap, const wxColour& colour);
         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;
 };
 
 };