1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: wx/aui/dockart.h
3 // Purpose: wxaui: wx advanced user interface - docking window manager
4 // Author: Benjamin I. Williams
7 // Copyright: (C) Copyright 2005, Kirix Corporation, All Rights Reserved.
8 // Licence: wxWindows Library Licence, Version 3.1
9 ///////////////////////////////////////////////////////////////////////////////
11 #ifndef _WX_DOCKART_H_
12 #define _WX_DOCKART_H_
14 // ----------------------------------------------------------------------------
16 // ----------------------------------------------------------------------------
24 #include "wx/bitmap.h"
25 #include "wx/colour.h"
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
31 class WXDLLIMPEXP_AUI wxAuiDockArt
36 virtual ~wxAuiDockArt() { }
38 virtual int GetMetric(int id
) = 0;
39 virtual void SetMetric(int id
, int newVal
) = 0;
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;
44 wxColour
GetColor(int id
) { return GetColour(id
); }
45 void SetColor(int id
, const wxColour
& color
) { SetColour(id
, color
); }
47 virtual void DrawSash(wxDC
& dc
,
50 const wxRect
& rect
) = 0;
52 virtual void DrawBackground(wxDC
& dc
,
55 const wxRect
& rect
) = 0;
57 virtual void DrawCaption(wxDC
& dc
,
61 wxAuiPaneInfo
& pane
) = 0;
63 virtual void DrawGripper(wxDC
& dc
,
66 wxAuiPaneInfo
& pane
) = 0;
68 virtual void DrawBorder(wxDC
& dc
,
71 wxAuiPaneInfo
& pane
) = 0;
73 virtual void DrawPaneButton(wxDC
& dc
,
78 wxAuiPaneInfo
& pane
) = 0;
82 // this is the default art provider for wxAuiManager. Dock art
83 // can be customized by creating a class derived from this one,
84 // or replacing this class entirely
86 class WXDLLIMPEXP_AUI wxAuiDefaultDockArt
: public wxAuiDockArt
90 wxAuiDefaultDockArt();
92 int GetMetric(int metricId
);
93 void SetMetric(int metricId
, int newVal
);
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
);
99 void DrawSash(wxDC
& dc
,
104 void DrawBackground(wxDC
& dc
,
109 void DrawCaption(wxDC
& dc
,
111 const wxString
& text
,
113 wxAuiPaneInfo
& pane
);
115 void DrawGripper(wxDC
& dc
,
118 wxAuiPaneInfo
& pane
);
120 void DrawBorder(wxDC
& dc
,
123 wxAuiPaneInfo
& pane
);
125 void DrawPaneButton(wxDC
& dc
,
130 wxAuiPaneInfo
& pane
);
132 void DrawIcon(wxDC
& dc
,
134 wxAuiPaneInfo
& pane
);
138 void DrawCaptionBackground(wxDC
& dc
, const wxRect
& rect
, bool active
);
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
;
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
;
178 #endif //_WX_DOCKART_H_