summaryrefslogtreecommitdiffstats
path: root/Project/artProvider/ArtMetro.h
diff options
context:
space:
mode:
Diffstat (limited to 'Project/artProvider/ArtMetro.h')
-rw-r--r--Project/artProvider/ArtMetro.h129
1 files changed, 129 insertions, 0 deletions
diff --git a/Project/artProvider/ArtMetro.h b/Project/artProvider/ArtMetro.h
new file mode 100644
index 0000000..f805954
--- /dev/null
+++ b/Project/artProvider/ArtMetro.h
@@ -0,0 +1,129 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name: wx/ribbon/art.h
+// Purpose: Art providers for ribbon-bar-style interface
+// Author: Peter Cawley
+// Modified by:
+// Created: 2009-05-25
+// RCS-ID: $Id$
+// Copyright: (C) Peter Cawley
+// Licence: wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_RIBBON_METRO_ART_H_
+#define _WX_RIBBON_METRO_ART_H_
+
+#include "wx/defs.h"
+
+#include "wx/ribbon/art.h"
+#include "wx/brush.h"
+#include "wx/colour.h"
+#include "wx/font.h"
+#include "wx/pen.h"
+#include "wx/bitmap.h"
+
+class WXDLLIMPEXP_FWD_CORE wxDC;
+class WXDLLIMPEXP_FWD_CORE wxWindow;
+
+// class WXDLLIMPEXP_RIBBON wxRibbonMetroArtProvider : public wxRibbonArtProvider
+class wxRibbonMetroArtProvider : public wxRibbonMSWArtProvider
+{
+public:
+ wxRibbonMetroArtProvider(bool set_colour_scheme = true);
+ virtual ~wxRibbonMetroArtProvider();
+ void SetFlags(long flags);
+
+ void GetColourScheme(wxColour* primary,
+ wxColour* secondary,
+ wxColour* tertiary) const;
+ /*
+ int GetTabCtrlHeight(
+ wxDC& dc,
+ wxWindow* wnd,
+ const wxRibbonPageTabInfoArray& pages);
+ */
+ void SetColourScheme(const wxColour& primary,
+ const wxColour& secondary,
+ const wxColour& tertiary);
+ void DrawTabCtrlBackground(
+ wxDC& dc,
+ wxWindow* wnd,
+ const wxRect& rect);
+
+ void DrawTab(wxDC& dc,
+ wxWindow* wnd,
+ const wxRibbonPageTabInfo& tab);
+
+ void DrawPageBackground(
+ wxDC& dc,
+ wxWindow* wnd,
+ const wxRect& rect);
+
+ void DrawPanelBackground(
+ wxDC& dc,
+ wxRibbonPanel* wnd,
+ const wxRect& rect);
+
+ void DrawMinimisedPanel(
+ wxDC& dc,
+ wxRibbonPanel* wnd,
+ const wxRect& rect,
+ wxBitmap& bitmap);
+
+ void DrawButtonBarBackground(
+ wxDC& dc,
+ wxWindow* wnd,
+ const wxRect& rect);
+
+ void DrawButtonBarButton(
+ wxDC& dc,
+ wxWindow* wnd,
+ const wxRect& rect,
+ wxRibbonButtonKind kind,
+ long state,
+ const wxString& label,
+ const wxBitmap& bitmap_large,
+ const wxBitmap& bitmap_small);
+
+ void DrawToolBarBackground(
+ wxDC& dc,
+ wxWindow* wnd,
+ const wxRect& rect);
+
+ void DrawToolGroupBackground(
+ wxDC& dc,
+ wxWindow* wnd,
+ const wxRect& rect);
+
+ void DrawTool(
+ wxDC& dc,
+ wxWindow* wnd,
+ const wxRect& rect,
+ const wxBitmap& bitmap,
+ wxRibbonButtonKind kind,
+ long state);
+
+protected:
+ // void ReallyDrawTabSeparator(wxWindow* wnd, const wxRect& rect, double visibility);
+ void DrawPartialPageBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect,
+ bool allow_hovered = true);
+ void DrawPartialPageBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect,
+ wxRibbonPage* page, wxPoint offset, bool hovered = false);
+ void DrawPanelBorder(wxDC& dc, const wxRect& rect, wxPen& primary_colour,
+ wxPen& secondary_colour);
+
+ void DrawButtonBarButtonForeground(
+ wxDC& dc,
+ const wxRect& rect,
+ wxRibbonButtonKind kind,
+ long state,
+ const wxString& label,
+ const wxBitmap& bitmap_large,
+ const wxBitmap& bitmap_small);
+ void DrawMinimisedPanelCommon(
+ wxDC& dc,
+ wxRibbonPanel* wnd,
+ const wxRect& rect,
+ wxRect* preview_rect);
+};
+
+#endif // _WX_RIBBON_METRO_ART_H_