1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: wx/aui/dockart.h
3 // Purpose: wxaui: wx advanced user interface - docking window manager
4 // Author: Benjamin I. Williams
8 // Copyright: (C) Copyright 2005, Kirix Corporation, All Rights Reserved.
9 // Licence: wxWindows Library Licence, Version 3.1
10 ///////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_DOCKART_H_
13 #define _WX_DOCKART_H_
15 // ----------------------------------------------------------------------------
17 // ----------------------------------------------------------------------------
25 #include "wx/bitmap.h"
26 #include "wx/colour.h"
28 // dock art provider code - a dock provider provides all drawing
29 // functionality to the wxAui dock manager. This allows the dock
30 // manager to have plugable look-and-feels
32 class WXDLLIMPEXP_AUI wxAuiDockArt
37 virtual ~wxAuiDockArt() { }
39 virtual int GetMetric(int id
) = 0;
40 virtual void SetMetric(int id
, int new_val
) = 0;
41 virtual void SetFont(int id
, const wxFont
& font
) = 0;
42 virtual wxFont
GetFont(int id
) = 0;
43 virtual wxColour
GetColour(int id
) = 0;
44 virtual void SetColour(int id
, const wxColor
& colour
) = 0;
45 wxColour
GetColor(int id
) { return GetColour(id
); }
46 void SetColor(int id
, const wxColour
& color
) { SetColour(id
, color
); }
48 virtual void DrawSash(wxDC
& dc
,
51 const wxRect
& rect
) = 0;
53 virtual void DrawBackground(wxDC
& dc
,
56 const wxRect
& rect
) = 0;
58 virtual void DrawCaption(wxDC
& dc
,
62 wxAuiPaneInfo
& pane
) = 0;
64 virtual void DrawGripper(wxDC
& dc
,
67 wxAuiPaneInfo
& pane
) = 0;
69 virtual void DrawBorder(wxDC
& dc
,
72 wxAuiPaneInfo
& pane
) = 0;
74 virtual void DrawPaneButton(wxDC
& dc
,
79 wxAuiPaneInfo
& pane
) = 0;
83 // this is the default art provider for wxAuiManager. Dock art
84 // can be customized by creating a class derived from this one,
85 // or replacing this class entirely
87 class WXDLLIMPEXP_AUI wxAuiDefaultDockArt
: public wxAuiDockArt
91 wxAuiDefaultDockArt();
93 int GetMetric(int metric_id
);
94 void SetMetric(int metric_id
, int new_val
);
95 wxColour
GetColour(int id
);
96 void SetColour(int id
, const wxColor
& colour
);
97 void SetFont(int id
, const wxFont
& font
);
98 wxFont
GetFont(int id
);
100 void DrawSash(wxDC
& dc
,
105 void DrawBackground(wxDC
& dc
,
110 void DrawCaption(wxDC
& dc
,
112 const wxString
& text
,
114 wxAuiPaneInfo
& pane
);
116 void DrawGripper(wxDC
& dc
,
119 wxAuiPaneInfo
& pane
);
121 void DrawBorder(wxDC
& dc
,
124 wxAuiPaneInfo
& pane
);
126 void DrawPaneButton(wxDC
& dc
,
131 wxAuiPaneInfo
& pane
);
135 void DrawCaptionBackground(wxDC
& dc
, const wxRect
& rect
, bool active
);
140 wxBrush m_sash_brush
;
141 wxBrush m_background_brush
;
142 wxBrush m_gripper_brush
;
143 wxFont m_caption_font
;
144 wxBitmap m_inactive_close_bitmap
;
145 wxBitmap m_inactive_pin_bitmap
;
146 wxBitmap m_inactive_maximize_bitmap
;
147 wxBitmap m_inactive_restore_bitmap
;
148 wxBitmap m_active_close_bitmap
;
149 wxBitmap m_active_pin_bitmap
;
150 wxBitmap m_active_maximize_bitmap
;
151 wxBitmap m_active_restore_bitmap
;
152 wxPen m_gripper_pen1
;
153 wxPen m_gripper_pen2
;
154 wxPen m_gripper_pen3
;
155 wxColour m_base_colour
;
156 wxColour m_active_caption_colour
;
157 wxColour m_active_caption_gradient_colour
;
158 wxColour m_active_caption_text_colour
;
159 wxColour m_inactive_caption_colour
;
160 wxColour m_inactive_caption_gradient_colour
;
161 wxColour m_inactive_caption_text_colour
;
173 #endif //_WX_DOCKART_H_