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 wxDockArt
37 virtual ~wxDockArt() { }
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 wxPaneInfo
& pane
) = 0;
64 virtual void DrawGripper(wxDC
& dc
,
67 wxPaneInfo
& pane
) = 0;
69 virtual void DrawBorder(wxDC
& dc
,
72 wxPaneInfo
& pane
) = 0;
74 virtual void DrawPaneButton(wxDC
& dc
,
79 wxPaneInfo
& pane
) = 0;
83 // this is the default art provider for wxFrameManager. Dock art
84 // can be customized by creating a class derived from this one,
85 // or replacing this class entirely
87 class WXDLLIMPEXP_AUI wxDefaultDockArt
: public wxDockArt
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
,
116 void DrawGripper(wxDC
& dc
,
121 void DrawBorder(wxDC
& dc
,
126 void DrawPaneButton(wxDC
& dc
,
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_active_close_bitmap
;
147 wxBitmap m_active_pin_bitmap
;
148 wxPen m_gripper_pen1
;
149 wxPen m_gripper_pen2
;
150 wxPen m_gripper_pen3
;
151 wxColour m_active_caption_colour
;
152 wxColour m_active_caption_gradient_colour
;
153 wxColour m_active_caption_text_colour
;
154 wxColour m_inactive_caption_colour
;
155 wxColour m_inactive_caption_gradient_colour
;
156 wxColour m_inactive_caption_text_colour
;
168 #endif //_WX_DOCKART_H_