X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e6feb95a79834836e88143b15d9f424ebe79621..7722d490f224d8f292f27fd90b1f42a00e20da8b:/include/wx/bitmap.h diff --git a/include/wx/bitmap.h b/include/wx/bitmap.h index c65f419f7e..7ce0770d85 100644 --- a/include/wx/bitmap.h +++ b/include/wx/bitmap.h @@ -5,7 +5,7 @@ // Modified by: // Created: 22.04.01 // RCS-ID: $Id$ -// Copyright: (c) wxWindows team +// Copyright: (c) wxWidgets team // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -16,20 +16,30 @@ // headers // ---------------------------------------------------------------------------- -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "bitmapbase.h" #endif #include "wx/defs.h" #include "wx/object.h" #include "wx/string.h" -#include "wx/palette.h" #include "wx/gdiobj.h" +#include "wx/gdicmn.h" // for wxBitmapType -class WXDLLEXPORT wxImage; -class WXDLLEXPORT wxMask; class WXDLLEXPORT wxBitmap; class WXDLLEXPORT wxBitmapHandler; +class WXDLLEXPORT wxImage; +class WXDLLEXPORT wxMask; +class WXDLLEXPORT wxPalette; + +#if defined(__WXMGL__) || \ + defined(__WXMAC__) || \ + defined(__WXGTK__) || \ + defined(__WXCOCOA__) || \ + defined(__WXMOTIF__) || \ + defined(__WXX11__) +// Only used by some ports +// FIXME -- make all ports (but MSW which uses wxGDIImage) use these base classes // ---------------------------------------------------------------------------- // wxBitmapHandler: class which knows how to create/load/save bitmaps in @@ -40,9 +50,10 @@ class WXDLLEXPORT wxBitmapHandlerBase : public wxObject { public: wxBitmapHandlerBase() - { - m_type = wxBITMAP_TYPE_INVALID; - } + : m_name() + , m_extension() + , m_type(wxBITMAP_TYPE_INVALID) + { } virtual ~wxBitmapHandlerBase() { } @@ -53,23 +64,22 @@ public: virtual bool SaveFile(const wxBitmap *bitmap, const wxString& name, int type, const wxPalette *palette = NULL) = 0; - void SetName(const wxString& name) { m_name = name; } - void SetExtension(const wxString& ext) { m_extension = ext; } - void SetType(wxBitmapType type) { m_type = type; } - wxString GetName() const { return m_name; } - wxString GetExtension() const { return m_extension; } - wxBitmapType GetType() const { return m_type; } + void SetName(const wxString& name) { m_name = name; } + void SetExtension(const wxString& ext) { m_extension = ext; } + void SetType(wxBitmapType type) { m_type = type; } + wxString GetName() const { return m_name; } + wxString GetExtension() const { return m_extension; } + wxBitmapType GetType() const { return m_type; } -protected: +private: wxString m_name; wxString m_extension; wxBitmapType m_type; +private: DECLARE_ABSTRACT_CLASS(wxBitmapHandlerBase) }; - - class WXDLLEXPORT wxBitmapBase : public wxGDIObject { public: @@ -113,13 +123,18 @@ public: const wxPalette *palette = (wxPalette *)NULL) const = 0; virtual bool LoadFile(const wxString &name, wxBitmapType type) = 0; + /* + If raw bitmap access is supported (see wx/rawbmp.h), the following + methods should be implemented: + + virtual bool GetRawData(wxRawBitmapData *data) = 0; + virtual void UngetRawData(wxRawBitmapData *data) = 0; + */ + +#if wxUSE_PALETTE virtual wxPalette *GetPalette() const = 0; virtual void SetPalette(const wxPalette& palette) = 0; - -#if WXWIN_COMPATIBILITY - wxPalette *GetColourMap() const { return GetPalette(); } - void SetColourMap(wxPalette *cmap) { SetPalette(*cmap); }; -#endif // WXWIN_COMPATIBILITY +#endif // wxUSE_PALETTE // copies the contents and mask of the given (colour) icon to the bitmap virtual bool CopyFromIcon(const wxIcon& icon) = 0; @@ -148,25 +163,26 @@ protected: DECLARE_ABSTRACT_CLASS(wxBitmapBase) }; +#endif - - -#if defined(__WXMSW__) +#if defined(__WXPALMOS__) +#include "wx/palmos/bitmap.h" +#elif defined(__WXMSW__) #include "wx/msw/bitmap.h" #elif defined(__WXMOTIF__) -#include "wx/motif/bitmap.h" +#include "wx/x11/bitmap.h" #elif defined(__WXGTK__) #include "wx/gtk/bitmap.h" +#elif defined(__WXX11__) +#include "wx/x11/bitmap.h" #elif defined(__WXMGL__) #include "wx/mgl/bitmap.h" -#elif defined(__WXQT__) -#include "wx/qt/bitmap.h" #elif defined(__WXMAC__) #include "wx/mac/bitmap.h" +#elif defined(__WXCOCOA__) +#include "wx/cocoa/bitmap.h" #elif defined(__WXPM__) #include "wx/os2/bitmap.h" -#elif defined(__WXSTUBS__) -#include "wx/stubs/bitmap.h" #endif #endif