// Purpose: interface of wxRendererNative
// Author: wxWidgets team
// RCS-ID: $Id$
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
/**
wxCONTROL_UNDETERMINED = wxCONTROL_CHECKABLE
};
+/**
+ Title bar buttons supported by wxRendererNative::DrawTitleBarBitmap().
+ */
+enum wxTitleBarButton
+{
+ wxTITLEBAR_BUTTON_CLOSE = 0x01000000,
+ wxTITLEBAR_BUTTON_MAXIMIZE = 0x02000000,
+ wxTITLEBAR_BUTTON_ICONIZE = 0x04000000,
+ wxTITLEBAR_BUTTON_RESTORE = 0x08000000,
+ wxTITLEBAR_BUTTON_HELP = 0x10000000
+};
+
/**
@struct wxSplitterRenderParams
virtual int GetHeaderButtonHeight(wxWindow *win);
+ virtual int GetHeaderButtonMargin(wxWindow *win);
+
virtual void DrawTreeItemButton(wxWindow *win, wxDC& dc,
const wxRect& rect, int flags = 0);
virtual void DrawTreeItemButton(wxWindow* win, wxDC& dc, const wxRect& rect,
int flags = 0) = 0;
- /**
+ /**
Draw a native wxChoice
*/
- virtual void DrawChoice(wxWindow* win, wxDC& dc, const wxRect& rect, int flags=0) = 0;
+ virtual void DrawChoice(wxWindow* win, wxDC& dc, const wxRect& rect, int flags = 0) = 0;
- /**
+ /**
Draw a native wxComboBox
*/
- virtual void DrawComboBox(wxWindow* win, wxDC& dc, const wxRect& rect, int flags=0) = 0;
+ virtual void DrawComboBox(wxWindow* win, wxDC& dc, const wxRect& rect, int flags = 0) = 0;
- /**
+ /**
Draw a native wxTextCtrl frame
*/
- virtual void DrawTextCtrl(wxWindow* win, wxDC& dc, const wxRect& rect, int flags=0) = 0;
+ virtual void DrawTextCtrl(wxWindow* win, wxDC& dc, const wxRect& rect, int flags = 0) = 0;
/**
- Draw a native wxRadioButton (just the button image, not the text)
+ Draw a native wxRadioButton bitmap.
*/
- virtual void DrawRadioButton(wxWindow* win, wxDC& dc, const wxRect& rect, int flags=0) = 0;
+ virtual void DrawRadioBitmap(wxWindow* win, wxDC& dc, const wxRect& rect, int flags = 0) = 0;
+
+ /**
+ Draw a title bar button in the given state.
+
+ This function is currently only available under MSW and OS X (and only
+ for wxTITLEBAR_BUTTON_CLOSE under the latter), its best replacement for
+ the other platforms is to use wxArtProvider to retrieve the bitmaps for
+ @c wxART_HELP and @c wxART_CLOSE (but not any other title bar buttons
+ and not for any state but normal, i.e. not pressed and not current one).
+
+ The presence of this function is indicated by @c
+ wxHAS_DRAW_TITLE_BAR_BITMAP symbol being defined.
+
+ Also notice that PNG handler must be enabled using wxImage::AddHandler()
+ to use this function under OS X currently as the bitmaps are embedded
+ in the library itself in PNG format.
+
+ @since 2.9.1
+ */
+ virtual void DrawTitleBarBitmap(wxWindow *win,
+ wxDC& dc,
+ const wxRect& rect,
+ wxTitleBarButton button,
+ int flags = 0) = 0;
/**
Return the currently used renderer.
/**
Returns the size of a check box.
+ The @a win parameter is not used currently and can be @NULL.
*/
virtual wxSize GetCheckBoxSize(wxWindow* win) = 0;
/**
Returns the height of a header button, either a fixed platform height if
- available, or a
- generic height based on the window's font.
+ available, or a generic height based on the @a win window's font.
*/
virtual int GetHeaderButtonHeight(wxWindow* win) = 0;
/**
- Get the splitter parameters, see
- wxSplitterRenderParams.
+ Returns the horizontal margin on the left and right sides of header
+ button's label.
+
+ @since 2.9.2
+ */
+ virtual int GetHeaderButtonMargin(wxWindow *win) = 0;
+
+ /**
+ Get the splitter parameters, see wxSplitterRenderParams.
+ The @a win parameter should be a wxSplitterWindow.
*/
virtual wxSplitterRenderParams GetSplitterParams(const wxWindow* win) = 0;