1///////////////////////////////////////////////////////////////////////////// 2// Name: bitmap.h 3// Author: Vaclav Slavik 4// RCS-ID: $Id: bitmap.h 42752 2006-10-30 19:26:48Z VZ $ 5// Copyright: (c) 2001-2002 SciTech Software, Inc. (www.scitechsoft.com) 6// Licence: wxWindows licence 7///////////////////////////////////////////////////////////////////////////// 8 9#ifndef __WX_BITMAP_H__ 10#define __WX_BITMAP_H__ 11 12//----------------------------------------------------------------------------- 13// classes 14//----------------------------------------------------------------------------- 15 16class WXDLLEXPORT wxDC; 17class WXDLLEXPORT wxMemoryDC; 18 19class MGLDevCtx; 20struct bitmap_t; 21 22//----------------------------------------------------------------------------- 23// wxBitmap 24//----------------------------------------------------------------------------- 25 26class WXDLLIMPEXP_CORE wxBitmapHandler: public wxBitmapHandlerBase 27{ 28 DECLARE_ABSTRACT_CLASS(wxBitmapHandler) 29}; 30 31class WXDLLEXPORT wxBitmap: public wxBitmapBase 32{ 33public: 34 wxBitmap() {} 35 wxBitmap(int width, int height, int depth = -1); 36 wxBitmap(const char bits[], int width, int height, int depth = 1); 37 wxBitmap(const char* const* bits); 38 wxBitmap(const wxString &filename, wxBitmapType type = wxBITMAP_TYPE_RESOURCE); 39 wxBitmap(const wxImage& image, int depth = -1); 40 virtual ~wxBitmap() {} 41 bool Ok() const { return IsOk(); } 42 bool IsOk() const; 43 44 bool Create(int width, int height, int depth = -1); 45 46 virtual int GetHeight() const; 47 virtual int GetWidth() const; 48 virtual int GetDepth() const; 49 50 virtual wxImage ConvertToImage() const; 51 52 virtual wxMask *GetMask() const; 53 virtual void SetMask(wxMask *mask); 54 55 virtual wxBitmap GetSubBitmap(const wxRect& rect) const; 56 57 virtual bool SaveFile(const wxString &name, wxBitmapType type, const wxPalette *palette = (wxPalette *) NULL) const; 58 virtual bool LoadFile(const wxString &name, wxBitmapType type = wxBITMAP_TYPE_RESOURCE); 59 60 virtual wxPalette *GetPalette() const; 61 virtual void SetPalette(const wxPalette& palette); 62 63 // copies the contents and mask of the given (colour) icon to the bitmap 64 virtual bool CopyFromIcon(const wxIcon& icon); 65 66 static void InitStandardHandlers(); 67 68 // implementation: 69 virtual void SetHeight(int height); 70 virtual void SetWidth(int width); 71 virtual void SetDepth(int depth); 72 73 virtual wxColour QuantizeColour(const wxColour& colour) const; 74 75 // get underlying native representation: 76 bitmap_t *GetMGLbitmap_t() const; 77 78protected: 79 // creates temporary DC for access to bitmap's data: 80 MGLDevCtx *CreateTmpDC() const; 81 // sets fg & bg colours for 1bit bitmaps: 82 void SetMonoPalette(const wxColour& fg, const wxColour& bg); 83 84private: 85 DECLARE_DYNAMIC_CLASS(wxBitmap) 86 87 friend class wxDC; 88 friend class wxMemoryDC; 89}; 90 91#endif // __WX_BITMAP_H__ 92