X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/198c264dbcf226b5df0eed219aef30d6fdc38a71..2d5efafe74f3788bfd3b3d8b1e8e13135a595ed5:/interface/wx/bitmap.h diff --git a/interface/wx/bitmap.h b/interface/wx/bitmap.h index 913d530e9e..5b6e278644 100644 --- a/interface/wx/bitmap.h +++ b/interface/wx/bitmap.h @@ -3,7 +3,7 @@ // Purpose: interface of wxBitmap* classes // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -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 - 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. @@ -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. + 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} @@ -260,6 +271,10 @@ public: @param depth Specifies the depth of the bitmap. If this is omitted, then a value of 1 (monochrome bitmap) is used. + + @beginWxPerlOnly + In wxPerl use Wx::Bitmap->newFromBits(bits, width, height, depth). + @endWxPerlOnly */ wxBitmap(const char bits[], int width, int height, int depth = 1); @@ -281,6 +296,10 @@ public: /** Creates a bitmap from XPM data. + + @beginWxPerlOnly + In wxPerl use Wx::Bitmap->newFromXPM(data). + @endWxPerlOnly */ wxBitmap(const char* const* bits); @@ -500,6 +519,9 @@ public: /** Returns disabled (dimmed) version of the bitmap. + + This method is not available when wxUSE_IMAGE == 0. + @since 2.9.0 */ wxBitmap ConvertToDisabled(unsigned char brightness = 255) const; @@ -562,6 +584,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 + @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. @@ -688,19 +735,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); @@ -730,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); + + /** + Returns the mask as a monochrome bitmap. + Currently this method is implemented in wxMSW, wxGTK and wxOSX. + + @since 2.9.5 + */ + wxBitmap GetBitmap() const; };