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 wxColor
GetColor(int id
) { return GetColour(id
); }
46 void SetColor(int id
, const wxColor
& color
) { SetColour(id
, color
); }
48 virtual void DrawSash(wxDC
& dc
,
50 const wxRect
& rect
) = 0;
52 virtual void DrawBackground(wxDC
& dc
,
54 const wxRect
& rect
) = 0;
56 virtual void DrawCaption(wxDC
& dc
,
59 wxPaneInfo
& pane
) = 0;
61 virtual void DrawGripper(wxDC
& dc
,
63 wxPaneInfo
& pane
) = 0;
65 virtual void DrawBorder(wxDC
& dc
,
67 wxPaneInfo
& pane
) = 0;
69 virtual void DrawPaneButton(wxDC
& dc
,
73 wxPaneInfo
& pane
) = 0;
77 // this is the default art provider for wxFrameManager. Dock art
78 // can be customized by creating a class derived from this one,
79 // or replacing this class entirely
81 class WXDLLIMPEXP_AUI wxDefaultDockArt
: public wxDockArt
87 int GetMetric(int metric_id
);
88 void SetMetric(int metric_id
, int new_val
);
89 wxColour
GetColour(int id
);
90 void SetColour(int id
, const wxColor
& colour
);
91 void SetFont(int id
, const wxFont
& font
);
92 wxFont
GetFont(int id
);
94 void DrawSash(wxDC
& dc
,
98 void DrawBackground(wxDC
& dc
,
102 void DrawCaption(wxDC
& dc
,
103 const wxString
& text
,
107 void DrawGripper(wxDC
& dc
,
111 void DrawBorder(wxDC
& dc
,
115 void DrawPaneButton(wxDC
& dc
,
123 void DrawCaptionBackground(wxDC
& dc
, const wxRect
& rect
, bool active
);
128 wxBrush m_sash_brush
;
129 wxBrush m_background_brush
;
130 wxBrush m_gripper_brush
;
131 wxFont m_caption_font
;
132 wxBitmap m_inactive_close_bitmap
;
133 wxBitmap m_inactive_pin_bitmap
;
134 wxBitmap m_active_close_bitmap
;
135 wxBitmap m_active_pin_bitmap
;
136 wxPen m_gripper_pen1
;
137 wxPen m_gripper_pen2
;
138 wxPen m_gripper_pen3
;
139 wxColour m_active_caption_colour
;
140 wxColour m_active_caption_gradient_colour
;
141 wxColour m_active_caption_text_colour
;
142 wxColour m_inactive_caption_colour
;
143 wxColour m_inactive_caption_gradient_colour
;
144 wxColour m_inactive_caption_text_colour
;
156 #endif //_WX_DOCKART_H_