1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/mgl/bitmap.h
3 // Author: Vaclav Slavik
5 // Copyright: (c) 2001-2002 SciTech Software, Inc. (www.scitechsoft.com)
6 // Licence: wxWindows licence
7 /////////////////////////////////////////////////////////////////////////////
9 #ifndef __WX_BITMAP_H__
10 #define __WX_BITMAP_H__
12 //-----------------------------------------------------------------------------
14 //-----------------------------------------------------------------------------
16 class WXDLLIMPEXP_FWD_CORE wxDC
;
17 class WXDLLIMPEXP_FWD_CORE wxMemoryDC
;
22 //-----------------------------------------------------------------------------
24 //-----------------------------------------------------------------------------
26 class WXDLLIMPEXP_CORE wxBitmap
: public wxBitmapBase
30 wxBitmap(int width
, int height
, int depth
= -1)
31 { Create(width
, height
, depth
); }
32 wxBitmap(const wxSize
& sz
, int depth
= -1)
33 { Create(sz
, depth
); }
34 wxBitmap(const char bits
[], int width
, int height
, int depth
= 1);
35 wxBitmap(const char* const* bits
);
36 wxBitmap(const wxString
&filename
, wxBitmapType type
= wxBITMAP_DEFAULT_TYPE
);
37 wxBitmap(const wxImage
& image
, int depth
= -1);
38 virtual ~wxBitmap() {}
40 bool Create(int width
, int height
, int depth
= wxBITMAP_SCREEN_DEPTH
);
41 bool Create(const wxSize
& sz
, int depth
= wxBITMAP_SCREEN_DEPTH
)
42 { return Create(sz
.GetWidth(), sz
.GetHeight(), depth
); }
44 virtual int GetHeight() const;
45 virtual int GetWidth() const;
46 virtual int GetDepth() const;
48 virtual wxImage
ConvertToImage() const;
50 virtual wxMask
*GetMask() const;
51 virtual void SetMask(wxMask
*mask
);
53 virtual wxBitmap
GetSubBitmap(const wxRect
& rect
) const;
55 virtual bool SaveFile(const wxString
&name
, wxBitmapType type
, const wxPalette
*palette
= NULL
) const;
56 virtual bool LoadFile(const wxString
&name
, wxBitmapType type
= wxBITMAP_DEFAULT_TYPE
);
58 virtual wxPalette
*GetPalette() const;
59 virtual void SetPalette(const wxPalette
& palette
);
61 // copies the contents and mask of the given (colour) icon to the bitmap
62 virtual bool CopyFromIcon(const wxIcon
& icon
);
64 static void InitStandardHandlers();
67 virtual void SetHeight(int height
);
68 virtual void SetWidth(int width
);
69 virtual void SetDepth(int depth
);
71 virtual wxColour
QuantizeColour(const wxColour
& colour
) const;
73 // get underlying native representation:
74 bitmap_t
*GetMGLbitmap_t() const;
77 virtual wxGDIRefData
*CreateGDIRefData() const;
78 virtual wxGDIRefData
*CloneGDIRefData(const wxGDIRefData
*data
) const;
80 // creates temporary DC for access to bitmap's data:
81 MGLDevCtx
*CreateTmpDC() const;
82 // sets fg & bg colours for 1bit bitmaps:
83 void SetMonoPalette(const wxColour
& fg
, const wxColour
& bg
);
86 DECLARE_DYNAMIC_CLASS(wxBitmap
)
89 friend class wxMemoryDC
;
92 #endif // __WX_BITMAP_H__