]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/custombgwin.h
Move SetBackgroundBitmap() from wxPanel to new wxCustomBackgroundWindow.
[wxWidgets.git] / include / wx / custombgwin.h
diff --git a/include/wx/custombgwin.h b/include/wx/custombgwin.h
new file mode 100644 (file)
index 0000000..b5684d1
--- /dev/null
@@ -0,0 +1,50 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        wx/custombgwin.h
+// Purpose:     Class adding support for custom window backgrounds.
+// Author:      Vadim Zeitlin
+// Created:     2011-10-10
+// RCS-ID:      $Id: wxhead.h,v 1.12 2010-04-22 12:44:51 zeitlin Exp $
+// Copyright:   (c) 2011 Vadim Zeitlin <vadim@wxwidgets.org>
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_CUSTOMBGWIN_H_
+#define _WX_CUSTOMBGWIN_H_
+
+// ----------------------------------------------------------------------------
+// wxCustomBackgroundWindow: Adds support for custom backgrounds to any
+//                           wxWindow-derived class.
+// ----------------------------------------------------------------------------
+
+class wxCustomBackgroundWindowBase
+{
+public:
+    // Trivial default ctor.
+    wxCustomBackgroundWindowBase() { }
+
+    // Use the given bitmap to tile the background of this window. This bitmap
+    // will show through any transparent children.
+    //
+    // Notice that you must not prevent the base class EVT_ERASE_BACKGROUND
+    // handler from running (i.e. not to handle this event yourself) for this
+    // to work.
+    void SetBackgroundBitmap(const wxBitmap& bmp)
+    {
+        DoSetBackgroundBitmap(bmp);
+    }
+
+protected:
+    virtual void DoSetBackgroundBitmap(const wxBitmap& bmp) = 0;
+
+    wxDECLARE_NO_COPY_CLASS(wxCustomBackgroundWindowBase);
+};
+
+#if defined(__WXUNIVERSAL__)
+    #include "wx/univ/custombgwin.h"
+#elif defined(__WXMSW__)
+    #include "wx/msw/custombgwin.h"
+#else
+    #include "wx/generic/custombgwin.h"
+#endif
+
+#endif // _WX_CUSTOMBGWIN_H_