+#include "wx/defs.h"
+
+#if wxUSE_STATBMP
+
+#include "wx/control.h"
+#include "wx/bitmap.h"
+#include "wx/icon.h"
+
+extern WXDLLIMPEXP_DATA_CORE(const char) wxStaticBitmapNameStr[];
+
+// a control showing an icon or a bitmap
+class WXDLLIMPEXP_CORE wxStaticBitmapBase : public wxControl
+{
+public:
+ wxStaticBitmapBase() { }
+ virtual ~wxStaticBitmapBase();
+
+ // our interface
+ virtual void SetIcon(const wxIcon& icon) = 0;
+ virtual void SetBitmap(const wxBitmap& bitmap) = 0;
+ virtual wxBitmap GetBitmap() const = 0;
+ virtual wxIcon GetIcon() const /* = 0 -- should be pure virtual */
+ {
+ // stub it out here for now as not all ports implement it (but they
+ // should)
+ return wxIcon();
+ }
+
+ // overriden base class virtuals
+ virtual bool AcceptsFocus() const { return false; }
+ virtual bool HasTransparentBackground() { return true; }
+
+protected:
+ // choose the default border for this window
+ virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
+
+ virtual wxSize DoGetBestSize() const;
+
+ wxDECLARE_NO_COPY_CLASS(wxStaticBitmapBase);
+};
+
+#if defined(__WXUNIVERSAL__)
+ #include "wx/univ/statbmp.h"
+#elif defined(__WXMSW__)
+ #include "wx/msw/statbmp.h"