]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/bitmap.h
Cast to void* before casting to Node** to make the compiler do no strict-aliasing...
[wxWidgets.git] / include / wx / bitmap.h
index 1faee6ed359d72122b79aa6b03212534c941839a..5924b00d3e19f3bc36ba77b9817f1e5bf370d95c 100644 (file)
@@ -5,7 +5,7 @@
 // Modified by:
 // Created:     22.04.01
 // RCS-ID:      $Id$
-// Copyright:   (c) wxWindows team
+// Copyright:   (c) wxWidgets team
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 // headers
 // ----------------------------------------------------------------------------
 
-#if defined(__GNUG__) && !defined(__APPLE__)
-    #pragma interface "bitmapbase.h"
-#endif
-
 #include "wx/defs.h"
 #include "wx/object.h"
 #include "wx/string.h"
@@ -32,7 +28,12 @@ class WXDLLEXPORT wxImage;
 class WXDLLEXPORT wxMask;
 class WXDLLEXPORT wxPalette;
 
-#if defined(__WXMGL__) || defined(__WXMAC__) || defined(__WXCOCOA__) || defined(__WXMOTIF__)
+#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
 
@@ -59,27 +60,25 @@ 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:
-    wxBitmapBase() : wxGDIObject() {}
-    virtual ~wxBitmapBase() {}
-
     /*
     Derived class must implement these:
 
@@ -88,10 +87,8 @@ public:
     wxBitmap(const char bits[], int width, int height, int depth = 1);
     wxBitmap(const char **bits);
     wxBitmap(char **bits);
-    wxBitmap(const wxBitmap& bmp);
     wxBitmap(const wxString &filename, wxBitmapType type = wxBITMAP_TYPE_XPM);
     wxBitmap(const wxImage& image, int depth = -1);
-    wxBitmap& operator = (const wxBitmap& bmp);
     bool operator == (const wxBitmap& bmp) const;
     bool operator != (const wxBitmap& bmp) const;
 
@@ -117,13 +114,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;
@@ -154,12 +156,16 @@ protected:
 };
 #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"
-#elif defined(__WXGTK__)
+#include "wx/x11/bitmap.h"
+#elif defined(__WXGTK20__)
 #include "wx/gtk/bitmap.h"
+#elif defined(__WXGTK__)
+#include "wx/gtk1/bitmap.h"
 #elif defined(__WXX11__)
 #include "wx/x11/bitmap.h"
 #elif defined(__WXMGL__)