// Modified by:
// Created: 22.04.01
// RCS-ID: $Id$
-// Copyright: (c) wxWindows team
+// Copyright: (c) wxWidgets team
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
// headers
// ----------------------------------------------------------------------------
-#ifdef __GNUG__
- #pragma interface "bitmapbase.h"
-#endif
-
#include "wx/defs.h"
#include "wx/object.h"
#include "wx/string.h"
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
// different formats
{
public:
wxBitmapHandlerBase()
- {
- m_type = wxBITMAP_TYPE_INVALID;
- }
+ : m_name()
+ , m_extension()
+ , m_type(wxBITMAP_TYPE_INVALID)
+ { }
virtual ~wxBitmapHandlerBase() { }
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:
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;
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;
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"
-#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__)
#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