X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6db34764d7ba8ea3c221b3e302d26071af944f6e..e6bd0b8ba69c27f5dc5900b0e204d600a544e260:/src/gtk/bitmap.cpp?ds=inline diff --git a/src/gtk/bitmap.cpp b/src/gtk/bitmap.cpp index ea76fd0e34..c8b75d0a4c 100644 --- a/src/gtk/bitmap.cpp +++ b/src/gtk/bitmap.cpp @@ -16,8 +16,8 @@ #include "wx/defs.h" -#include "wx/palette.h" #include "wx/bitmap.h" +#include "wx/palette.h" #include "wx/icon.h" #include "wx/filefn.h" #include "wx/image.h" @@ -39,7 +39,7 @@ #include #endif // GTK+ 2.0/1.2 -#include +#include "wx/math.h" extern void gdk_wx_draw_bitmap (GdkDrawable *drawable, GdkGC *gc, @@ -1153,12 +1153,12 @@ wxImage wxBitmap::ConvertToImage() const } wxBitmap::wxBitmap( const wxBitmap& bmp ) - : wxGDIObject() + : wxBitmapBase() { Ref( bmp ); } -wxBitmap::wxBitmap( const wxString &filename, int type ) +wxBitmap::wxBitmap( const wxString &filename, wxBitmapType type ) { LoadFile( filename, type ); } @@ -1324,7 +1324,7 @@ wxBitmap wxBitmap::GetSubBitmap( const wxRect& rect) const return ret; } -bool wxBitmap::SaveFile( const wxString &name, int type, wxPalette *WXUNUSED(palette) ) +bool wxBitmap::SaveFile( const wxString &name, wxBitmapType type, const wxPalette *WXUNUSED(palette) ) const { wxCHECK_MSG( Ok(), FALSE, wxT("invalid bitmap") ); @@ -1337,7 +1337,7 @@ bool wxBitmap::SaveFile( const wxString &name, int type, wxPalette *WXUNUSED(pal return FALSE; } -bool wxBitmap::LoadFile( const wxString &name, int type ) +bool wxBitmap::LoadFile( const wxString &name, wxBitmapType type ) { UnRef(); @@ -1390,6 +1390,11 @@ wxPalette *wxBitmap::GetPalette() const return M_BMPDATA->m_palette; } +void wxBitmap::SetPalette(const wxPalette& WXUNUSED(palette)) +{ + // TODO +} + void wxBitmap::SetHeight( int height ) { if (!m_refData) @@ -1444,9 +1449,11 @@ GdkPixmap *wxBitmap::GetPixmap() const // create the pixmap on the fly if we use Pixbuf representation: if (HasPixbuf() && !HasPixmap()) { + delete M_BMPDATA->m_mask; + M_BMPDATA->m_mask = new wxMask(); gdk_pixbuf_render_pixmap_and_mask(M_BMPDATA->m_pixbuf, &M_BMPDATA->m_pixmap, - NULL /*mask*/, + &M_BMPDATA->m_mask->m_bitmap, 128 /*threshold*/); } #endif // __WXGTK20__ @@ -1549,3 +1556,36 @@ void wxBitmap::PurgeOtherRepresentations(wxBitmap::Representation keep) } #endif // __WXGTK20__ + +//----------------------------------------------------------------------------- +// wxBitmapHandler +//----------------------------------------------------------------------------- + +IMPLEMENT_DYNAMIC_CLASS(wxBitmapHandler,wxBitmapHandlerBase) + +wxBitmapHandler::~wxBitmapHandler() +{ +} + +bool wxBitmapHandler::Create(wxBitmap *bitmap, void *data, long type, int width, int height, int depth) +{ + return FALSE; +} + +bool wxBitmapHandler::LoadFile(wxBitmap *bitmap, const wxString& name, long flags, + int desiredWidth, int desiredHeight) +{ + return FALSE; +} + +bool wxBitmapHandler::SaveFile(const wxBitmap *bitmap, const wxString& name, int type, const wxPalette *palette) +{ + return FALSE; +} + +/* static */ void wxBitmap::InitStandardHandlers() +{ + // TODO: Insert handler based on GdkPixbufs handler later +} + +