]> git.saurik.com Git - wxWidgets.git/blame - include/wx/aui/dockart.h
Don't define __STRICT_ANSI__, we should build both with and without it.
[wxWidgets.git] / include / wx / aui / dockart.h
CommitLineData
50acee04 1///////////////////////////////////////////////////////////////////////////////
be66f18e 2// Name: wx/aui/dockart.h
50acee04
JS
3// Purpose: wxaui: wx advanced user interface - docking window manager
4// Author: Benjamin I. Williams
5// Modified by:
6// Created: 2005-05-17
50acee04
JS
7// Copyright: (C) Copyright 2005, Kirix Corporation, All Rights Reserved.
8// Licence: wxWindows Library Licence, Version 3.1
9///////////////////////////////////////////////////////////////////////////////
10
11#ifndef _WX_DOCKART_H_
12#define _WX_DOCKART_H_
13
14// ----------------------------------------------------------------------------
15// headers
16// ----------------------------------------------------------------------------
17
18#include "wx/defs.h"
19
20#if wxUSE_AUI
21
08469b1f
JS
22#include "wx/pen.h"
23#include "wx/brush.h"
24#include "wx/bitmap.h"
25#include "wx/colour.h"
50acee04
JS
26
27// dock art provider code - a dock provider provides all drawing
28// functionality to the wxAui dock manager. This allows the dock
29// manager to have plugable look-and-feels
30
a3a5df9d 31class WXDLLIMPEXP_AUI wxAuiDockArt
50acee04
JS
32{
33public:
34
a3a5df9d
BW
35 wxAuiDockArt() { }
36 virtual ~wxAuiDockArt() { }
50acee04
JS
37
38 virtual int GetMetric(int id) = 0;
9a29fe70 39 virtual void SetMetric(int id, int newVal) = 0;
50acee04
JS
40 virtual void SetFont(int id, const wxFont& font) = 0;
41 virtual wxFont GetFont(int id) = 0;
42 virtual wxColour GetColour(int id) = 0;
43 virtual void SetColour(int id, const wxColor& colour) = 0;
06d4c4d6
RD
44 wxColour GetColor(int id) { return GetColour(id); }
45 void SetColor(int id, const wxColour& color) { SetColour(id, color); }
be66f18e 46
50acee04 47 virtual void DrawSash(wxDC& dc,
a6b0e5bd 48 wxWindow* window,
50acee04
JS
49 int orientation,
50 const wxRect& rect) = 0;
51
52 virtual void DrawBackground(wxDC& dc,
a6b0e5bd 53 wxWindow* window,
50acee04
JS
54 int orientation,
55 const wxRect& rect) = 0;
56
57 virtual void DrawCaption(wxDC& dc,
a6b0e5bd 58 wxWindow* window,
50acee04
JS
59 const wxString& text,
60 const wxRect& rect,
a3a5df9d 61 wxAuiPaneInfo& pane) = 0;
50acee04
JS
62
63 virtual void DrawGripper(wxDC& dc,
a6b0e5bd 64 wxWindow* window,
50acee04 65 const wxRect& rect,
a3a5df9d 66 wxAuiPaneInfo& pane) = 0;
50acee04
JS
67
68 virtual void DrawBorder(wxDC& dc,
a6b0e5bd 69 wxWindow* window,
50acee04 70 const wxRect& rect,
a3a5df9d 71 wxAuiPaneInfo& pane) = 0;
50acee04
JS
72
73 virtual void DrawPaneButton(wxDC& dc,
a6b0e5bd 74 wxWindow* window,
50acee04 75 int button,
9a29fe70 76 int buttonState,
50acee04 77 const wxRect& rect,
a3a5df9d 78 wxAuiPaneInfo& pane) = 0;
50acee04
JS
79};
80
81
a3a5df9d 82// this is the default art provider for wxAuiManager. Dock art
50acee04
JS
83// can be customized by creating a class derived from this one,
84// or replacing this class entirely
85
a3a5df9d 86class WXDLLIMPEXP_AUI wxAuiDefaultDockArt : public wxAuiDockArt
50acee04
JS
87{
88public:
89
a3a5df9d 90 wxAuiDefaultDockArt();
50acee04 91
9a29fe70
VZ
92 int GetMetric(int metricId);
93 void SetMetric(int metricId, int newVal);
50acee04
JS
94 wxColour GetColour(int id);
95 void SetColour(int id, const wxColor& colour);
96 void SetFont(int id, const wxFont& font);
97 wxFont GetFont(int id);
98
99 void DrawSash(wxDC& dc,
ad7b3b76 100 wxWindow *window,
50acee04
JS
101 int orientation,
102 const wxRect& rect);
103
104 void DrawBackground(wxDC& dc,
ad7b3b76 105 wxWindow *window,
50acee04
JS
106 int orientation,
107 const wxRect& rect);
108
109 void DrawCaption(wxDC& dc,
ad7b3b76 110 wxWindow *window,
50acee04
JS
111 const wxString& text,
112 const wxRect& rect,
a3a5df9d 113 wxAuiPaneInfo& pane);
50acee04
JS
114
115 void DrawGripper(wxDC& dc,
ad7b3b76 116 wxWindow *window,
50acee04 117 const wxRect& rect,
a3a5df9d 118 wxAuiPaneInfo& pane);
50acee04
JS
119
120 void DrawBorder(wxDC& dc,
ad7b3b76 121 wxWindow *window,
50acee04 122 const wxRect& rect,
a3a5df9d 123 wxAuiPaneInfo& pane);
50acee04
JS
124
125 void DrawPaneButton(wxDC& dc,
ad7b3b76 126 wxWindow *window,
50acee04 127 int button,
9a29fe70 128 int buttonState,
50acee04 129 const wxRect& rect,
a3a5df9d 130 wxAuiPaneInfo& pane);
50acee04 131
4254f672
VZ
132 void DrawIcon(wxDC& dc,
133 const wxRect& rect,
134 wxAuiPaneInfo& pane);
135
50acee04
JS
136protected:
137
138 void DrawCaptionBackground(wxDC& dc, const wxRect& rect, bool active);
139
cae374ef
VZ
140 void InitBitmaps();
141
50acee04
JS
142protected:
143
9a29fe70
VZ
144 wxPen m_borderPen;
145 wxBrush m_sashBrush;
146 wxBrush m_backgroundBrush;
147 wxBrush m_gripperBrush;
148 wxFont m_captionFont;
149 wxBitmap m_inactiveCloseBitmap;
150 wxBitmap m_inactivePinBitmap;
151 wxBitmap m_inactiveMaximizeBitmap;
152 wxBitmap m_inactiveRestoreBitmap;
153 wxBitmap m_activeCloseBitmap;
154 wxBitmap m_activePinBitmap;
155 wxBitmap m_activeMaximizeBitmap;
156 wxBitmap m_activeRestoreBitmap;
157 wxPen m_gripperPen1;
158 wxPen m_gripperPen2;
159 wxPen m_gripperPen3;
160 wxColour m_baseColour;
161 wxColour m_activeCaptionColour;
162 wxColour m_activeCaptionGradientColour;
163 wxColour m_activeCaptionTextColour;
164 wxColour m_inactiveCaptionColour;
165 wxColour m_inactiveCaptionGradientColour;
166 wxColour m_inactiveCaptionTextColour;
167 int m_borderSize;
168 int m_captionSize;
169 int m_sashSize;
170 int m_buttonSize;
171 int m_gripperSize;
172 int m_gradientType;
50acee04
JS
173};
174
175
176
177#endif // wxUSE_AUI
178#endif //_WX_DOCKART_H_