]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mgl/bitmap.h
using subclass as impl ptr, common code in macro because mix-in are not possible...
[wxWidgets.git] / include / wx / mgl / bitmap.h
index 3ac421b830e94a251a6520d185da75b57c838570..3fbbb9b73db7fee16a2ab0bd083036b38546d161 100644 (file)
@@ -2,92 +2,37 @@
 // Name:        bitmap.h
 // Author:      Vaclav Slavik
 // RCS-ID:      $Id$
-// Copyright:   (c) 2001 SciTech Software, Inc. (www.scitechsoft.com)
+// Copyright:   (c) 2001-2002 SciTech Software, Inc. (www.scitechsoft.com)
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-
 #ifndef __WX_BITMAP_H__
 #define __WX_BITMAP_H__
 
-#ifdef __GNUG__
-#pragma interface
-#endif
-
-#include "wx/defs.h"
-#include "wx/object.h"
-#include "wx/string.h"
-#include "wx/palette.h"
-#include "wx/gdiobj.h"
-
-
 //-----------------------------------------------------------------------------
 // classes
 //-----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxMask;
-class WXDLLEXPORT wxBitmap;
-class WXDLLEXPORT wxImage;
-class WXDLLEXPORT wxDC;
-class WXDLLEXPORT wxMemoryDC;
+class WXDLLIMPEXP_FWD_CORE wxDC;
+class WXDLLIMPEXP_FWD_CORE wxMemoryDC;
 
 class MGLDevCtx;
 struct bitmap_t;
 
-//-----------------------------------------------------------------------------
-// wxMask
-//-----------------------------------------------------------------------------
-
-class WXDLLEXPORT wxMask: public wxObject
-{
-public:
-    wxMask();
-    wxMask(const wxBitmap& bitmap, const wxColour& colour);
-    wxMask(const wxBitmap& bitmap, int paletteIndex);
-    wxMask(const wxBitmap& bitmap);
-    ~wxMask();
-
-    bool Create(const wxBitmap& bitmap, const wxColour& colour);
-    bool Create(const wxBitmap& bitmap, int paletteIndex);
-    bool Create(const wxBitmap& bitmap);
-
-    // implementation
-    wxBitmap *m_bitmap;
-
-    wxBitmap *GetBitmap() const { return m_bitmap; }
-
-private:
-    DECLARE_DYNAMIC_CLASS(wxMask)
-};
-
 //-----------------------------------------------------------------------------
 // wxBitmap
 //-----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxBitmapHandler : public wxBitmapHandlerBase
-{
-public:
-    wxBitmapHandler() : wxBitmapHandlerBase() {}
-private:
-    DECLARE_DYNAMIC_CLASS(wxBitmapHandler)
-};
-
-class WXDLLEXPORT wxBitmap: public wxBitmapBase
+class WXDLLIMPEXP_CORE wxBitmap: public wxBitmapBase
 {
 public:
     wxBitmap() {}
     wxBitmap(int width, int height, int depth = -1);
     wxBitmap(const char bits[], int width, int height, int depth = 1);
-    wxBitmap(const char **bits) { CreateFromXpm(bits); }
-    wxBitmap(char **bits) { CreateFromXpm((const char **)bits); }
-    wxBitmap(const wxBitmap& bmp);
-    wxBitmap(const wxString &filename, wxBitmapType type = wxBITMAP_TYPE_RESOURCE);
+    wxBitmap(const char* const* bits);
+    wxBitmap(const wxString &filename, wxBitmapType type = wxBITMAP_DEFAULT_TYPE);
     wxBitmap(const wxImage& image, int depth = -1);
-    ~wxBitmap() {}
-    wxBitmap& operator = (const wxBitmap& bmp);
-    bool operator == (const wxBitmap& bmp) const;
-    bool operator != (const wxBitmap& bmp) const;
-    bool Ok() const;
+    virtual ~wxBitmap() {}
 
     bool Create(int width, int height, int depth = -1);
 
@@ -103,7 +48,7 @@ public:
     virtual wxBitmap GetSubBitmap(const wxRect& rect) const;
 
     virtual bool SaveFile(const wxString &name, wxBitmapType type, const wxPalette *palette = (wxPalette *) NULL) const;
-    virtual bool LoadFile(const wxString &name, wxBitmapType type = wxBITMAP_TYPE_RESOURCE);
+    virtual bool LoadFile(const wxString &name, wxBitmapType type = wxBITMAP_DEFAULT_TYPE);
 
     virtual wxPalette *GetPalette() const;
     virtual void SetPalette(const wxPalette& palette);
@@ -118,11 +63,14 @@ public:
     virtual void SetWidth(int width);
     virtual void SetDepth(int depth);
 
+    virtual wxColour QuantizeColour(const wxColour& colour) const;
+
     // get underlying native representation:
     bitmap_t *GetMGLbitmap_t() const;
 
 protected:
-    bool CreateFromXpm(const char **bits);
+    virtual wxGDIRefData *CreateGDIRefData() const;
+    virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const;
 
     // creates temporary DC for access to bitmap's data:
     MGLDevCtx *CreateTmpDC() const;