1 ///////////////////////////////////////////////////////////////////////////// 2 // Name: wx/aui/tabartmsw.h 3 // Purpose: wxAuiMSWTabArt declaration 4 // Author: Tobias Taschner 5 // Created: 2015-09-26 6 // Copyright: (c) 2015 wxWidgets development team 7 // Licence: wxWindows licence 8 ///////////////////////////////////////////////////////////////////////////// 9 10 #ifndef _WX_AUI_TABARTMSW_H_ 11 #define _WX_AUI_TABARTMSW_H_ 12 13 class WXDLLIMPEXP_AUI wxAuiMSWTabArt : public wxAuiGenericTabArt 14 { 15 16 public: 17 18 wxAuiMSWTabArt(); 19 virtual ~wxAuiMSWTabArt(); 20 21 wxAuiTabArt* Clone() wxOVERRIDE; 22 void SetSizingInfo(const wxSize& tabCtrlSize, 23 size_t tabCount) wxOVERRIDE; 24 25 void DrawBorder( 26 wxDC& dc, 27 wxWindow* wnd, 28 const wxRect& rect) wxOVERRIDE; 29 30 void DrawBackground( 31 wxDC& dc, 32 wxWindow* wnd, 33 const wxRect& rect) wxOVERRIDE; 34 35 void DrawTab(wxDC& dc, 36 wxWindow* wnd, 37 const wxAuiNotebookPage& pane, 38 const wxRect& inRect, 39 int closeButtonState, 40 wxRect* outTabRect, 41 wxRect* outButtonRect, 42 int* xExtent) wxOVERRIDE; 43 44 void DrawButton( 45 wxDC& dc, 46 wxWindow* wnd, 47 const wxRect& inRect, 48 int bitmapId, 49 int buttonState, 50 int orientation, 51 wxRect* outRect) wxOVERRIDE; 52 53 int GetIndentSize() wxOVERRIDE; 54 55 int GetBorderWidth( 56 wxWindow* wnd) wxOVERRIDE; 57 58 int GetAdditionalBorderSpace( 59 wxWindow* wnd) wxOVERRIDE; 60 61 wxSize GetTabSize( 62 wxDC& dc, 63 wxWindow* wnd, 64 const wxString& caption, 65 const wxBitmap& bitmap, 66 bool active, 67 int closeButtonState, 68 int* xExtent) wxOVERRIDE; 69 70 int ShowDropDown( 71 wxWindow* wnd, 72 const wxAuiNotebookPageArray& items, 73 int activeIdx) wxOVERRIDE; 74 75 int GetBestTabCtrlSize(wxWindow* wnd, 76 const wxAuiNotebookPageArray& pages, 77 const wxSize& requiredBmpSize) wxOVERRIDE; 78 79 private: 80 bool m_themed; 81 wxSize m_closeBtnSize; 82 wxSize m_tabSize; 83 int m_maxTabHeight; 84 85 void InitSizes(wxWindow* wnd, wxDC& dc); 86 87 bool IsThemed() const; 88 }; 89 90 #endif // _WX_AUI_TABARTMSW_H_ 91