1 ///////////////////////////////////////////////////////////////////////////////
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 // ----------------------------------------------------------------------------
24 // dock art provider code - a dock provider provides all drawing
25 // functionality to the wxAui dock manager. This allows the dock
26 // manager to have plugable look-and-feels
28 class WXDLLIMPEXP_AUI wxDockArt
33 virtual ~wxDockArt() { }
35 virtual int GetMetric(int id
) = 0;
36 virtual void SetMetric(int id
, int new_val
) = 0;
37 virtual void SetFont(int id
, const wxFont
& font
) = 0;
38 virtual wxFont
GetFont(int id
) = 0;
39 virtual wxColour
GetColour(int id
) = 0;
40 virtual void SetColour(int id
, const wxColor
& colour
) = 0;
41 wxColor
GetColor(int id
) { return GetColour(id
); }
42 void SetColor(int id
, const wxColor
& color
) { SetColour(id
, color
); }
44 virtual void DrawSash(wxDC
& dc
,
46 const wxRect
& rect
) = 0;
48 virtual void DrawBackground(wxDC
& dc
,
50 const wxRect
& rect
) = 0;
52 virtual void DrawCaption(wxDC
& dc
,
55 wxPaneInfo
& pane
) = 0;
57 virtual void DrawGripper(wxDC
& dc
,
59 wxPaneInfo
& pane
) = 0;
61 virtual void DrawBorder(wxDC
& dc
,
63 wxPaneInfo
& pane
) = 0;
65 virtual void DrawPaneButton(wxDC
& dc
,
69 wxPaneInfo
& pane
) = 0;
73 // this is the default art provider for wxFrameManager. Dock art
74 // can be customized by creating a class derived from this one,
75 // or replacing this class entirely
77 class WXDLLIMPEXP_AUI wxDefaultDockArt
: public wxDockArt
83 int GetMetric(int metric_id
);
84 void SetMetric(int metric_id
, int new_val
);
85 wxColour
GetColour(int id
);
86 void SetColour(int id
, const wxColor
& colour
);
87 void SetFont(int id
, const wxFont
& font
);
88 wxFont
GetFont(int id
);
90 void DrawSash(wxDC
& dc
,
94 void DrawBackground(wxDC
& dc
,
98 void DrawCaption(wxDC
& dc
,
103 void DrawGripper(wxDC
& dc
,
107 void DrawBorder(wxDC
& dc
,
111 void DrawPaneButton(wxDC
& dc
,
119 void DrawCaptionBackground(wxDC
& dc
, const wxRect
& rect
, bool active
);
124 wxBrush m_sash_brush
;
125 wxBrush m_background_brush
;
126 wxBrush m_gripper_brush
;
127 wxFont m_caption_font
;
128 wxBitmap m_inactive_close_bitmap
;
129 wxBitmap m_inactive_pin_bitmap
;
130 wxBitmap m_active_close_bitmap
;
131 wxBitmap m_active_pin_bitmap
;
132 wxPen m_gripper_pen1
;
133 wxPen m_gripper_pen2
;
134 wxPen m_gripper_pen3
;
135 wxColour m_active_caption_colour
;
136 wxColour m_active_caption_gradient_colour
;
137 wxColour m_active_caption_text_colour
;
138 wxColour m_inactive_caption_colour
;
139 wxColour m_inactive_caption_gradient_colour
;
140 wxColour m_inactive_caption_text_colour
;
152 #endif //_WX_DOCKART_H_