X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/783da8450c15fec48691411d492ad2246cba15d7..4dddb8a2dde675b85bbe28399b921648a22e6be1:/include/wx/gtk1/bitmap.h?ds=sidebyside diff --git a/include/wx/gtk1/bitmap.h b/include/wx/gtk1/bitmap.h index 51cc2fed09..23f5b94e76 100644 --- a/include/wx/gtk1/bitmap.h +++ b/include/wx/gtk1/bitmap.h @@ -21,6 +21,10 @@ #include "wx/palette.h" #include "wx/gdiobj.h" +#ifdef __WXGTK20__ +typedef struct _GdkPixbuf GdkPixbuf; +#endif + //----------------------------------------------------------------------------- // classes //----------------------------------------------------------------------------- @@ -109,9 +113,17 @@ public: void SetDepth( int depth ); void SetPixmap( GdkPixmap *pixmap ); void SetBitmap( GdkBitmap *bitmap ); +#ifdef __WXGTK20__ + void SetPixbuf(GdkPixbuf *pixbuf); +#endif GdkPixmap *GetPixmap() const; GdkBitmap *GetBitmap() const; + bool HasPixmap() const; +#ifdef __WXGTK20__ + bool HasPixbuf() const; + GdkPixbuf *GetPixbuf() const; +#endif // Basically, this corresponds to Win32 StretchBlt() wxBitmap Rescale( int clipx, int clipy, int clipwidth, int clipheight, int width, int height ); @@ -120,6 +132,25 @@ protected: bool CreateFromImage(const wxImage& image, int depth); private: + // to be called from CreateFromImage only! + bool CreateFromImageAsBitmap(const wxImage& image); + bool CreateFromImageAsPixmap(const wxImage& image); + +#ifdef __WXGTK20__ + bool CreateFromImageAsPixbuf(const wxImage& image); + + enum Representation + { + Pixmap, + Pixbuf + }; + // removes other representations from memory, keeping only 'keep' + // (wxBitmap may keep same bitmap e.g. as both pixmap and pixbuf): + void PurgeOtherRepresentations(Representation keep); + + friend class wxMemoryDC; +#endif + DECLARE_DYNAMIC_CLASS(wxBitmap) };