1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: src/univ/themes/mono.cpp
3 // Purpose: wxUniversal theme for monochrome displays
4 // Author: Vadim Zeitlin
8 // Copyright: (c) 2006 REA Elektronik GmbH
9 // Licence: wxWindows licence
10 ///////////////////////////////////////////////////////////////////////////////
12 // ===========================================================================
14 // ===========================================================================
16 // ---------------------------------------------------------------------------
18 // ---------------------------------------------------------------------------
20 // for compilers that support precompilation, includes "wx.h".
21 #include "wx/wxprec.h"
30 #include "wx/artprov.h"
31 #include "wx/univ/stdrend.h"
32 #include "wx/univ/inphand.h"
33 #include "wx/univ/colschem.h"
34 #include "wx/univ/theme.h"
36 class wxMonoColourScheme
;
38 #define wxMONO_BG_COL (*wxWHITE)
39 #define wxMONO_FG_COL (*wxBLACK)
41 // ----------------------------------------------------------------------------
42 // wxMonoRenderer: draw the GUI elements in simplest possible way
43 // ----------------------------------------------------------------------------
45 // Warning: many of the methods here are not implemented, the code won't work
46 // if any but a few wxUSE_XXXs are on
47 class wxMonoRenderer
: public wxStdRenderer
50 wxMonoRenderer(const wxColourScheme
*scheme
);
52 virtual void DrawButtonLabel(wxDC
& dc
,
53 const wxString
& label
,
54 const wxBitmap
& image
,
57 int alignment
= wxALIGN_LEFT
| wxALIGN_TOP
,
59 wxRect
*rectBounds
= NULL
);
61 virtual void DrawBorder(wxDC
& dc
,
65 wxRect
*rectIn
= NULL
);
67 virtual void DrawButtonBorder(wxDC
& dc
,
70 wxRect
*rectIn
= NULL
);
72 virtual void DrawHorizontalLine(wxDC
& dc
,
73 wxCoord y
, wxCoord x1
, wxCoord x2
);
75 virtual void DrawVerticalLine(wxDC
& dc
,
76 wxCoord x
, wxCoord y1
, wxCoord y2
);
78 virtual void DrawArrow(wxDC
& dc
,
82 virtual void DrawScrollbarThumb(wxDC
& dc
,
86 virtual void DrawScrollbarShaft(wxDC
& dc
,
92 virtual void DrawToolBarButton(wxDC
& dc
,
93 const wxString
& label
,
94 const wxBitmap
& bitmap
,
99 #endif // wxUSE_TOOLBAR
102 virtual void DrawTab(wxDC
& dc
,
105 const wxString
& label
,
106 const wxBitmap
& bitmap
= wxNullBitmap
,
108 int indexAccel
= -1);
109 #endif // wxUSE_NOTEBOOK
112 virtual void DrawSliderShaft(wxDC
& dc
,
115 wxOrientation orient
,
118 wxRect
*rectShaft
= NULL
);
120 virtual void DrawSliderThumb(wxDC
& dc
,
122 wxOrientation orient
,
126 virtual void DrawSliderTicks(wxDC
& dc
,
129 wxOrientation orient
,
135 #endif // wxUSE_SLIDER
138 virtual void DrawMenuBarItem(wxDC
& dc
,
140 const wxString
& label
,
142 int indexAccel
= -1);
144 virtual void DrawMenuItem(wxDC
& dc
,
146 const wxMenuGeometryInfo
& geometryInfo
,
147 const wxString
& label
,
148 const wxString
& accel
,
149 const wxBitmap
& bitmap
= wxNullBitmap
,
151 int indexAccel
= -1);
153 virtual void DrawMenuSeparator(wxDC
& dc
,
155 const wxMenuGeometryInfo
& geomInfo
);
156 #endif // wxUSE_MENUS
158 virtual void DrawFrameTitleBar(wxDC
& dc
,
160 const wxString
& title
,
163 int specialButton
= 0,
164 int specialButtonFlags
= 0);
166 virtual void DrawFrameBorder(wxDC
& dc
,
170 virtual void DrawFrameBackground(wxDC
& dc
,
174 virtual void DrawFrameTitle(wxDC
& dc
,
176 const wxString
& title
,
179 virtual void DrawFrameIcon(wxDC
& dc
,
184 virtual void DrawFrameButton(wxDC
& dc
,
185 wxCoord x
, wxCoord y
,
191 virtual void GetComboBitmaps(wxBitmap
*bmpNormal
,
193 wxBitmap
*bmpPressed
,
194 wxBitmap
*bmpDisabled
);
195 #endif // wxUSE_COMBOBOX
198 virtual wxRect
GetBorderDimensions(wxBorder border
) const;
201 virtual wxSize
GetScrollbarArrowSize() const { return GetStdBmpSize(); }
202 #endif // wxUSE_SCROLLBAR
204 virtual wxSize
GetCheckBitmapSize() const { return GetStdBmpSize(); }
205 virtual wxSize
GetRadioBitmapSize() const { return GetStdBmpSize(); }
208 virtual wxSize
GetToolBarButtonSize(wxCoord
*separator
) const;
210 virtual wxSize
GetToolBarMargin() const;
211 #endif // wxUSE_TOOLBAR
214 virtual wxSize
GetTabIndent() const;
216 virtual wxSize
GetTabPadding() const;
217 #endif // wxUSE_NOTEBOOK
220 virtual wxCoord
GetSliderDim() const;
222 virtual wxCoord
GetSliderTickLen() const;
224 virtual wxRect
GetSliderShaftRect(const wxRect
& rect
,
226 wxOrientation orient
,
227 long style
= 0) const;
229 virtual wxSize
GetSliderThumbSize(const wxRect
& rect
,
231 wxOrientation orient
) const;
232 #endif // wxUSE_SLIDER
234 virtual wxSize
GetProgressBarStep() const;
237 virtual wxSize
GetMenuBarItemSize(const wxSize
& sizeText
) const;
239 virtual wxMenuGeometryInfo
*GetMenuGeometry(wxWindow
*win
,
240 const wxMenu
& menu
) const;
241 #endif // wxUSE_MENUS
243 virtual wxRect
GetFrameClientArea(const wxRect
& rect
, int flags
) const;
245 virtual wxSize
GetFrameTotalSize(const wxSize
& clientSize
, int flags
) const;
247 virtual wxSize
GetFrameMinSize(int flags
) const;
249 virtual wxSize
GetFrameIconSize() const;
251 virtual int HitTestFrame(const wxRect
& rect
,
253 int flags
= 0) const;
256 // override base class border drawing routines: we always draw just a
257 // single simple border
258 void DrawSimpleBorder(wxDC
& dc
, wxRect
*rect
)
259 { DrawRect(dc
, rect
, m_penFg
); }
261 virtual void DrawRaisedBorder(wxDC
& dc
, wxRect
*rect
)
262 { DrawSimpleBorder(dc
, rect
); }
263 virtual void DrawSunkenBorder(wxDC
& dc
, wxRect
*rect
)
264 { DrawSimpleBorder(dc
, rect
); }
265 virtual void DrawAntiSunkenBorder(wxDC
& dc
, wxRect
*rect
)
266 { DrawSimpleBorder(dc
, rect
); }
267 virtual void DrawFrameBorder(wxDC
& dc
, wxRect
*rect
)
268 { DrawSimpleBorder(dc
, rect
); }
270 // all our XPMs are of this size
271 static wxSize
GetStdBmpSize() { return wxSize(8, 8); }
273 wxBitmap
GetIndicator(IndicatorType indType
, int flags
);
274 virtual wxBitmap
GetCheckBitmap(int flags
)
275 { return GetIndicator(IndicatorType_Check
, flags
); }
276 virtual wxBitmap
GetRadioBitmap(int flags
)
277 { return GetIndicator(IndicatorType_Radio
, flags
); }
279 virtual wxBitmap
GetFrameButtonBitmap(FrameButtonType type
);
282 // the bitmaps returned by GetIndicator()
283 wxBitmap m_bmpIndicators
[IndicatorType_MaxCtrl
]
284 [IndicatorState_MaxCtrl
]
285 [IndicatorStatus_Max
];
287 static const char **ms_xpmIndicators
[IndicatorType_MaxCtrl
]
288 [IndicatorState_MaxCtrl
]
289 [IndicatorStatus_Max
];
291 // the arrow bitmaps used by DrawArrow()
292 wxBitmap m_bmpArrows
[Arrow_Max
];
294 static const char **ms_xpmArrows
[Arrow_Max
];
296 // the close bitmap for the frame for GetFrameButtonBitmap()
297 wxBitmap m_bmpFrameClose
;
299 // pen used for foreground drawing
303 // ----------------------------------------------------------------------------
305 // ----------------------------------------------------------------------------
307 static const char *xpmUnchecked
[] = {
308 /* columns rows colors chars-per-pixel */
323 static const char *xpmChecked
[] = {
324 /* columns rows colors chars-per-pixel */
339 static const char *xpmUndeterminate
[] = {
340 /* columns rows colors chars-per-pixel */
355 static const char *xpmRadioUnchecked
[] = {
356 /* columns rows colors chars-per-pixel */
371 static const char *xpmRadioChecked
[] = {
372 /* columns rows colors chars-per-pixel */
387 const char **wxMonoRenderer::ms_xpmIndicators
[IndicatorType_MaxCtrl
]
388 [IndicatorState_MaxCtrl
]
389 [IndicatorStatus_Max
] =
394 { xpmChecked
, xpmUnchecked
, xpmUndeterminate
},
397 { xpmUndeterminate
, xpmUndeterminate
, xpmUndeterminate
},
400 { xpmUndeterminate
, xpmUndeterminate
, xpmUndeterminate
},
406 { xpmRadioChecked
, xpmRadioUnchecked
, xpmUndeterminate
},
409 { xpmUndeterminate
, xpmUndeterminate
, xpmUndeterminate
},
412 { xpmUndeterminate
, xpmUndeterminate
, xpmUndeterminate
},
416 static const char *xpmLeftArrow
[] = {
417 /* columns rows colors chars-per-pixel */
432 static const char *xpmRightArrow
[] = {
433 /* columns rows colors chars-per-pixel */
448 static const char *xpmUpArrow
[] = {
449 /* columns rows colors chars-per-pixel */
464 static const char *xpmDownArrow
[] = {
465 /* columns rows colors chars-per-pixel */
480 const char **wxMonoRenderer::ms_xpmArrows
[Arrow_Max
] =
482 xpmLeftArrow
, xpmRightArrow
, xpmUpArrow
, xpmDownArrow
,
485 // ----------------------------------------------------------------------------
486 // wxMonoColourScheme: uses just white and black
487 // ----------------------------------------------------------------------------
489 class wxMonoColourScheme
: public wxColourScheme
492 // we use only 2 colours, white and black, but we avoid referring to them
493 // like this, instead use the functions below
494 wxColour
GetFg() const { return wxMONO_FG_COL
; }
495 wxColour
GetBg() const { return wxMONO_BG_COL
; }
497 // implement base class pure virtuals
498 virtual wxColour
Get(StdColour col
) const;
499 virtual wxColour
GetBackground(wxWindow
*win
) const;
502 // ----------------------------------------------------------------------------
504 // ----------------------------------------------------------------------------
506 class wxMonoArtProvider
: public wxArtProvider
509 virtual wxBitmap
CreateBitmap(const wxArtID
& id
,
510 const wxArtClient
& client
,
514 // ----------------------------------------------------------------------------
516 // ----------------------------------------------------------------------------
518 class wxMonoTheme
: public wxTheme
522 virtual ~wxMonoTheme();
524 virtual wxRenderer
*GetRenderer();
525 virtual wxArtProvider
*GetArtProvider();
526 virtual wxInputHandler
*GetInputHandler(const wxString
& control
,
527 wxInputConsumer
*consumer
);
528 virtual wxColourScheme
*GetColourScheme();
531 wxMonoRenderer
*m_renderer
;
532 wxMonoArtProvider
*m_artProvider
;
533 wxMonoColourScheme
*m_scheme
;
535 WX_DECLARE_THEME(mono
)
538 // ============================================================================
540 // ============================================================================
542 WX_IMPLEMENT_THEME(wxMonoTheme
, mono
, wxTRANSLATE("Simple monochrome theme"));
544 // ----------------------------------------------------------------------------
546 // ----------------------------------------------------------------------------
548 wxMonoTheme::wxMonoTheme()
552 m_artProvider
= NULL
;
555 wxMonoTheme::~wxMonoTheme()
559 wxArtProvider::RemoveProvider(m_artProvider
);
562 wxRenderer
*wxMonoTheme::GetRenderer()
566 m_renderer
= new wxMonoRenderer(GetColourScheme());
572 wxArtProvider
*wxMonoTheme::GetArtProvider()
574 if ( !m_artProvider
)
576 m_artProvider
= new wxMonoArtProvider
;
579 return m_artProvider
;
582 wxColourScheme
*wxMonoTheme::GetColourScheme()
586 m_scheme
= new wxMonoColourScheme
;
592 wxInputHandler
*wxMonoTheme::GetInputHandler(const wxString
& WXUNUSED(control
),
593 wxInputConsumer
*consumer
)
595 // no special input handlers so far
596 return consumer
->DoGetStdInputHandler(NULL
);
599 // ============================================================================
600 // wxMonoColourScheme
601 // ============================================================================
603 wxColour
wxMonoColourScheme::GetBackground(wxWindow
*win
) const
606 if ( win
->UseBgCol() )
608 // use the user specified colour
609 col
= win
->GetBackgroundColour();
612 // doesn't depend on the state
621 wxColour
wxMonoColourScheme::Get(wxMonoColourScheme::StdColour col
) const
627 case CONTROL_PRESSED
:
628 case CONTROL_CURRENT
:
630 case SCROLLBAR_PRESSED
:
634 case TITLEBAR_ACTIVE
:
640 wxFAIL_MSG(_T("invalid standard colour"));
644 case SHADOW_HIGHLIGHT
:
648 case CONTROL_TEXT_DISABLED
:
649 case CONTROL_TEXT_DISABLED_SHADOW
:
652 case TITLEBAR_ACTIVE_TEXT
:
658 // ============================================================================
660 // ============================================================================
662 // ----------------------------------------------------------------------------
664 // ----------------------------------------------------------------------------
666 wxMonoRenderer::wxMonoRenderer(const wxColourScheme
*scheme
)
667 : wxStdRenderer(scheme
)
669 m_penFg
= wxPen(wxMONO_FG_COL
);
672 // ----------------------------------------------------------------------------
674 // ----------------------------------------------------------------------------
676 wxRect
wxMonoRenderer::GetBorderDimensions(wxBorder border
) const
681 case wxBORDER_SIMPLE
:
682 case wxBORDER_STATIC
:
683 case wxBORDER_RAISED
:
684 case wxBORDER_SUNKEN
:
688 case wxBORDER_DOUBLE
:
693 wxFAIL_MSG(_T("unknown border type"));
696 case wxBORDER_DEFAULT
:
711 void wxMonoRenderer::DrawBorder(wxDC
& dc
,
713 const wxRect
& rectTotal
,
717 wxRect rect
= rectTotal
;
721 case wxBORDER_DOUBLE
:
722 DrawSimpleBorder(dc
, &rect
);
725 case wxBORDER_SUNKEN
:
726 case wxBORDER_STATIC
:
727 case wxBORDER_RAISED
:
728 case wxBORDER_SIMPLE
:
729 DrawSimpleBorder(dc
, &rect
);
733 wxFAIL_MSG(_T("unknown border type"));
736 case wxBORDER_DEFAULT
:
745 void wxMonoRenderer::DrawButtonBorder(wxDC
& dc
,
750 DrawBorder(dc
, wxBORDER_SIMPLE
, rect
, flags
, rectIn
);
753 // ----------------------------------------------------------------------------
755 // ----------------------------------------------------------------------------
758 wxMonoRenderer::DrawHorizontalLine(wxDC
& dc
, wxCoord y
, wxCoord x1
, wxCoord x2
)
761 dc
.DrawLine(x1
, y
, x2
+ 1, y
);
765 wxMonoRenderer::DrawVerticalLine(wxDC
& dc
, wxCoord x
, wxCoord y1
, wxCoord y2
)
768 dc
.DrawLine(x
, y1
, x
, y2
+ 1);
771 // ----------------------------------------------------------------------------
773 // ----------------------------------------------------------------------------
775 void wxMonoRenderer::DrawButtonLabel(wxDC
& dc
,
776 const wxString
& label
,
777 const wxBitmap
& image
,
784 dc
.SetTextForeground(m_penFg
.GetColour());
785 dc
.DrawLabel(label
, image
, rect
, alignment
, indexAccel
, rectBounds
);
787 if ( flags
& wxCONTROL_DISABLED
)
789 // this is ugly but I don't know how to show disabled button visually
790 // in monochrome theme otherwise, so cross it out
792 dc
.DrawLine(rect
.GetTopLeft(), rect
.GetBottomRight());
793 dc
.DrawLine(rect
.GetTopRight(), rect
.GetBottomLeft());
797 // ----------------------------------------------------------------------------
799 // ----------------------------------------------------------------------------
801 wxBitmap
wxMonoRenderer::GetIndicator(IndicatorType indType
, int flags
)
803 IndicatorState indState
;
804 IndicatorStatus indStatus
;
805 GetIndicatorsFromFlags(flags
, indState
, indStatus
);
807 wxBitmap
& bmp
= m_bmpIndicators
[indType
][indState
][indStatus
];
810 const char **xpm
= ms_xpmIndicators
[indType
][indState
][indStatus
];
813 // create and cache it
821 wxBitmap
wxMonoRenderer::GetFrameButtonBitmap(FrameButtonType type
)
823 if ( type
== FrameButton_Close
)
825 if ( !m_bmpFrameClose
.Ok() )
827 static const char *xpmFrameClose
[] = {
828 /* columns rows colors chars-per-pixel */
843 m_bmpFrameClose
= wxBitmap(xpmFrameClose
);
846 return m_bmpFrameClose
;
849 // we don't show any other buttons than close
853 // ----------------------------------------------------------------------------
855 // ----------------------------------------------------------------------------
859 void wxMonoRenderer::DrawToolBarButton(wxDC
& dc
,
860 const wxString
& label
,
861 const wxBitmap
& bitmap
,
867 wxFAIL_MSG(_T("TODO"));
870 wxSize
wxMonoRenderer::GetToolBarButtonSize(wxCoord
*separator
) const
872 wxFAIL_MSG(_T("TODO"));
877 wxSize
wxMonoRenderer::GetToolBarMargin() const
879 wxFAIL_MSG(_T("TODO"));
884 #endif // wxUSE_TOOLBAR
886 // ----------------------------------------------------------------------------
888 // ----------------------------------------------------------------------------
892 void wxMonoRenderer::DrawTab(wxDC
& dc
,
895 const wxString
& label
,
896 const wxBitmap
& bitmap
,
900 wxFAIL_MSG(_T("TODO"));
903 wxSize
wxMonoRenderer::GetTabIndent() const
905 wxFAIL_MSG(_T("TODO"));
910 wxSize
wxMonoRenderer::GetTabPadding() const
912 wxFAIL_MSG(_T("TODO"));
917 #endif // wxUSE_NOTEBOOK
919 // ----------------------------------------------------------------------------
921 // ----------------------------------------------------------------------------
925 void wxMonoRenderer::GetComboBitmaps(wxBitmap
*bmpNormal
,
927 wxBitmap
*bmpPressed
,
928 wxBitmap
*bmpDisabled
)
930 wxFAIL_MSG(_T("TODO"));
933 #endif // wxUSE_COMBOBOX
935 // ----------------------------------------------------------------------------
937 // ----------------------------------------------------------------------------
941 void wxMonoRenderer::DrawMenuBarItem(wxDC
& dc
,
943 const wxString
& label
,
947 wxFAIL_MSG(_T("TODO"));
950 void wxMonoRenderer::DrawMenuItem(wxDC
& dc
,
952 const wxMenuGeometryInfo
& geometryInfo
,
953 const wxString
& label
,
954 const wxString
& accel
,
955 const wxBitmap
& bitmap
,
959 wxFAIL_MSG(_T("TODO"));
962 void wxMonoRenderer::DrawMenuSeparator(wxDC
& dc
,
964 const wxMenuGeometryInfo
& geomInfo
)
966 wxFAIL_MSG(_T("TODO"));
969 wxSize
wxMonoRenderer::GetMenuBarItemSize(const wxSize
& sizeText
) const
971 wxFAIL_MSG(_T("TODO"));
976 wxMenuGeometryInfo
*wxMonoRenderer::GetMenuGeometry(wxWindow
*win
,
977 const wxMenu
& menu
) const
979 wxFAIL_MSG(_T("TODO"));
984 #endif // wxUSE_MENUS
986 // ----------------------------------------------------------------------------
988 // ----------------------------------------------------------------------------
992 void wxMonoRenderer::DrawSliderShaft(wxDC
& dc
,
995 wxOrientation orient
,
1000 wxFAIL_MSG(_T("TODO"));
1004 void wxMonoRenderer::DrawSliderThumb(wxDC
& dc
,
1006 wxOrientation orient
,
1010 wxFAIL_MSG(_T("TODO"));
1013 void wxMonoRenderer::DrawSliderTicks(wxDC
& dc
,
1016 wxOrientation orient
,
1023 wxFAIL_MSG(_T("TODO"));
1026 wxCoord
wxMonoRenderer::GetSliderDim() const
1028 wxFAIL_MSG(_T("TODO"));
1033 wxCoord
wxMonoRenderer::GetSliderTickLen() const
1035 wxFAIL_MSG(_T("TODO"));
1041 wxRect
wxMonoRenderer::GetSliderShaftRect(const wxRect
& rect
,
1043 wxOrientation orient
,
1046 wxFAIL_MSG(_T("TODO"));
1051 wxSize
wxMonoRenderer::GetSliderThumbSize(const wxRect
& rect
,
1053 wxOrientation orient
) const
1055 wxFAIL_MSG(_T("TODO"));
1060 #endif // wxUSE_SLIDER
1062 wxSize
wxMonoRenderer::GetProgressBarStep() const
1064 wxFAIL_MSG(_T("TODO"));
1070 // ----------------------------------------------------------------------------
1072 // ----------------------------------------------------------------------------
1074 void wxMonoRenderer::DrawArrow(wxDC
& dc
,
1077 int WXUNUSED(flags
))
1079 ArrowDirection arrowDir
= GetArrowDirection(dir
);
1080 wxCHECK_RET( arrowDir
!= Arrow_Max
, _T("invalid arrow direction") );
1082 wxBitmap
& bmp
= m_bmpArrows
[arrowDir
];
1085 bmp
= wxBitmap(ms_xpmArrows
[arrowDir
]);
1088 wxRect
rectArrow(0, 0, bmp
.GetWidth(), bmp
.GetHeight());
1089 dc
.DrawBitmap(bmp
, rectArrow
.CentreIn(rect
).GetPosition(), true /* use mask */);
1092 void wxMonoRenderer::DrawScrollbarThumb(wxDC
& dc
,
1093 wxOrientation
WXUNUSED(orient
),
1095 int WXUNUSED(flags
))
1097 DrawSolidRect(dc
, wxMONO_FG_COL
, rect
);
1100 void wxMonoRenderer::DrawScrollbarShaft(wxDC
& dc
,
1101 wxOrientation
WXUNUSED(orient
),
1103 int WXUNUSED(flags
))
1105 DrawSolidRect(dc
, wxMONO_BG_COL
, rect
);
1108 // ----------------------------------------------------------------------------
1109 // top level windows
1110 // ----------------------------------------------------------------------------
1112 void wxMonoRenderer::DrawFrameTitleBar(wxDC
& WXUNUSED(dc
),
1113 const wxRect
& WXUNUSED(rect
),
1114 const wxString
& WXUNUSED(title
),
1115 const wxIcon
& WXUNUSED(icon
),
1116 int WXUNUSED(flags
),
1117 int WXUNUSED(specialButton
),
1118 int WXUNUSED(specialButtonFlag
))
1122 void wxMonoRenderer::DrawFrameBorder(wxDC
& WXUNUSED(dc
),
1123 const wxRect
& WXUNUSED(rect
),
1124 int WXUNUSED(flags
))
1128 void wxMonoRenderer::DrawFrameBackground(wxDC
& WXUNUSED(dc
),
1129 const wxRect
& WXUNUSED(rect
),
1130 int WXUNUSED(flags
))
1134 void wxMonoRenderer::DrawFrameTitle(wxDC
& WXUNUSED(dc
),
1135 const wxRect
& WXUNUSED(rect
),
1136 const wxString
& WXUNUSED(title
),
1137 int WXUNUSED(flags
))
1141 void wxMonoRenderer::DrawFrameIcon(wxDC
& WXUNUSED(dc
),
1142 const wxRect
& WXUNUSED(rect
),
1143 const wxIcon
& WXUNUSED(icon
),
1144 int WXUNUSED(flags
))
1148 void wxMonoRenderer::DrawFrameButton(wxDC
& WXUNUSED(dc
),
1149 wxCoord
WXUNUSED(x
),
1150 wxCoord
WXUNUSED(y
),
1151 int WXUNUSED(button
),
1152 int WXUNUSED(flags
))
1157 wxMonoRenderer::GetFrameClientArea(const wxRect
& rect
,
1158 int WXUNUSED(flags
)) const
1164 wxMonoRenderer::GetFrameTotalSize(const wxSize
& clientSize
,
1165 int WXUNUSED(flags
)) const
1170 wxSize
wxMonoRenderer::GetFrameMinSize(int WXUNUSED(flags
)) const
1175 wxSize
wxMonoRenderer::GetFrameIconSize() const
1177 return wxSize(wxDefaultCoord
, wxDefaultCoord
);
1181 wxMonoRenderer::HitTestFrame(const wxRect
& WXUNUSED(rect
),
1182 const wxPoint
& WXUNUSED(pt
),
1183 int WXUNUSED(flags
)) const
1185 return wxHT_TOPLEVEL_CLIENT_AREA
;
1189 // ----------------------------------------------------------------------------
1190 // wxMonoArtProvider
1191 // ----------------------------------------------------------------------------
1193 wxBitmap
wxMonoArtProvider::CreateBitmap(const wxArtID
& WXUNUSED(id
),
1194 const wxArtClient
& WXUNUSED(client
),
1195 const wxSize
& WXUNUSED(size
))
1197 return wxNullBitmap
;