wxStaticBitmap should have transparent background (fixes grey backgrounds
[wxWidgets.git] / include / wx / statbmp.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/statbmp.h
3 // Purpose: wxStaticBitmap class interface
4 // Author: Vadim Zeitlin
5 // Modified by:
6 // Created: 25.08.00
7 // RCS-ID: $Id$
8 // Copyright: (c) 2000 Vadim Zeitlin
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_STATBMP_H_BASE_
13 #define _WX_STATBMP_H_BASE_
14
15 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
16 #pragma interface "statbmpbase.h"
17 #endif
18
19 #include "wx/defs.h"
20
21 #if wxUSE_STATBMP
22
23 #include "wx/control.h"
24 #include "wx/bitmap.h"
25
26 class WXDLLEXPORT wxIcon;
27 class WXDLLEXPORT wxBitmap;
28
29 extern WXDLLEXPORT_DATA(const wxChar*) wxStaticBitmapNameStr;
30
31 // a control showing an icon or a bitmap
32 class WXDLLEXPORT wxStaticBitmapBase : public wxControl
33 {
34 public:
35 wxStaticBitmapBase() { }
36 virtual ~wxStaticBitmapBase();
37
38 // our interface
39 virtual void SetIcon(const wxIcon& icon) = 0;
40 virtual void SetBitmap(const wxBitmap& bitmap) = 0;
41 virtual wxBitmap GetBitmap() const = 0;
42
43 // overriden base class virtuals
44 virtual bool AcceptsFocus() const { return false; }
45 virtual bool HasTransparentBackground() { return true; }
46
47 protected:
48 virtual wxSize DoGetBestSize() const;
49
50 DECLARE_NO_COPY_CLASS(wxStaticBitmapBase)
51 };
52
53 #if defined(__WXUNIVERSAL__)
54 #include "wx/univ/statbmp.h"
55 #elif defined(__WXMSW__)
56 #include "wx/msw/statbmp.h"
57 #elif defined(__WXMOTIF__)
58 #include "wx/motif/statbmp.h"
59 #elif defined(__WXGTK__)
60 #include "wx/gtk/statbmp.h"
61 #elif defined(__WXMAC__)
62 #include "wx/mac/statbmp.h"
63 #elif defined(__WXCOCOA__)
64 #include "wx/cocoa/statbmp.h"
65 #elif defined(__WXPM__)
66 #include "wx/os2/statbmp.h"
67 #endif
68
69 #endif // wxUSE_STATBMP
70
71 #endif
72 // _WX_STATBMP_H_BASE_