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
); }
280 // the bitmaps returned by GetIndicator()
281 wxBitmap m_bmpIndicators
[IndicatorType_MaxCtrl
]
282 [IndicatorState_MaxCtrl
]
283 [IndicatorStatus_Max
];
285 static const char **ms_xpmIndicators
[IndicatorType_MaxCtrl
]
286 [IndicatorState_MaxCtrl
]
287 [IndicatorStatus_Max
];
289 // the arrow bitmaps used by DrawArrow()
290 wxBitmap m_bmpArrows
[Arrow_Max
];
292 static const char **ms_xpmArrows
[Arrow_Max
];
294 // pen used for foreground drawing
298 // ----------------------------------------------------------------------------
300 // ----------------------------------------------------------------------------
302 static const char *xpmUnchecked
[] = {
303 /* columns rows colors chars-per-pixel */
318 static const char *xpmChecked
[] = {
319 /* columns rows colors chars-per-pixel */
334 static const char *xpmUndeterminate
[] = {
335 /* columns rows colors chars-per-pixel */
350 static const char *xpmRadioUnchecked
[] = {
351 /* columns rows colors chars-per-pixel */
366 static const char *xpmRadioChecked
[] = {
367 /* columns rows colors chars-per-pixel */
382 const char **wxMonoRenderer::ms_xpmIndicators
[IndicatorType_MaxCtrl
]
383 [IndicatorState_MaxCtrl
]
384 [IndicatorStatus_Max
] =
389 { xpmChecked
, xpmUnchecked
, xpmUndeterminate
},
392 { xpmUndeterminate
, xpmUndeterminate
, xpmUndeterminate
},
395 { xpmUndeterminate
, xpmUndeterminate
, xpmUndeterminate
},
401 { xpmRadioChecked
, xpmRadioUnchecked
, xpmUndeterminate
},
404 { xpmUndeterminate
, xpmUndeterminate
, xpmUndeterminate
},
407 { xpmUndeterminate
, xpmUndeterminate
, xpmUndeterminate
},
411 static const char *xpmLeftArrow
[] = {
412 /* columns rows colors chars-per-pixel */
427 static const char *xpmRightArrow
[] = {
428 /* columns rows colors chars-per-pixel */
443 static const char *xpmUpArrow
[] = {
444 /* columns rows colors chars-per-pixel */
459 static const char *xpmDownArrow
[] = {
460 /* columns rows colors chars-per-pixel */
475 const char **wxMonoRenderer::ms_xpmArrows
[Arrow_Max
] =
477 xpmLeftArrow
, xpmRightArrow
, xpmUpArrow
, xpmDownArrow
,
480 // ----------------------------------------------------------------------------
481 // wxMonoColourScheme: uses just white and black
482 // ----------------------------------------------------------------------------
484 class wxMonoColourScheme
: public wxColourScheme
487 // we use only 2 colours, white and black, but we avoid referring to them
488 // like this, instead use the functions below
489 wxColour
GetFg() const { return wxMONO_FG_COL
; }
490 wxColour
GetBg() const { return wxMONO_BG_COL
; }
492 // implement base class pure virtuals
493 virtual wxColour
Get(StdColour col
) const;
494 virtual wxColour
GetBackground(wxWindow
*win
) const;
497 // ----------------------------------------------------------------------------
499 // ----------------------------------------------------------------------------
501 class wxMonoArtProvider
: public wxArtProvider
504 virtual wxBitmap
CreateBitmap(const wxArtID
& id
,
505 const wxArtClient
& client
,
509 // ----------------------------------------------------------------------------
511 // ----------------------------------------------------------------------------
513 class wxMonoTheme
: public wxTheme
517 virtual ~wxMonoTheme();
519 virtual wxRenderer
*GetRenderer();
520 virtual wxArtProvider
*GetArtProvider();
521 virtual wxInputHandler
*GetInputHandler(const wxString
& control
,
522 wxInputConsumer
*consumer
);
523 virtual wxColourScheme
*GetColourScheme();
526 wxMonoRenderer
*m_renderer
;
527 wxMonoArtProvider
*m_artProvider
;
528 wxMonoColourScheme
*m_scheme
;
530 WX_DECLARE_THEME(mono
)
533 // ============================================================================
535 // ============================================================================
537 WX_IMPLEMENT_THEME(wxMonoTheme
, mono
, wxTRANSLATE("Simple monochrome theme"));
539 // ----------------------------------------------------------------------------
541 // ----------------------------------------------------------------------------
543 wxMonoTheme::wxMonoTheme()
547 m_artProvider
= NULL
;
550 wxMonoTheme::~wxMonoTheme()
554 wxArtProvider::RemoveProvider(m_artProvider
);
557 wxRenderer
*wxMonoTheme::GetRenderer()
561 m_renderer
= new wxMonoRenderer(GetColourScheme());
567 wxArtProvider
*wxMonoTheme::GetArtProvider()
569 if ( !m_artProvider
)
571 m_artProvider
= new wxMonoArtProvider
;
574 return m_artProvider
;
577 wxColourScheme
*wxMonoTheme::GetColourScheme()
581 m_scheme
= new wxMonoColourScheme
;
587 wxInputHandler
*wxMonoTheme::GetInputHandler(const wxString
& WXUNUSED(control
),
588 wxInputConsumer
*consumer
)
590 // no special input handlers so far
591 return consumer
->DoGetStdInputHandler(NULL
);
594 // ============================================================================
595 // wxMonoColourScheme
596 // ============================================================================
598 wxColour
wxMonoColourScheme::GetBackground(wxWindow
*win
) const
601 if ( win
->UseBgCol() )
603 // use the user specified colour
604 col
= win
->GetBackgroundColour();
607 // doesn't depend on the state
616 wxColour
wxMonoColourScheme::Get(wxMonoColourScheme::StdColour col
) const
622 case CONTROL_PRESSED
:
623 case CONTROL_CURRENT
:
625 case SCROLLBAR_PRESSED
:
629 case TITLEBAR_ACTIVE
:
635 wxFAIL_MSG(_T("invalid standard colour"));
639 case SHADOW_HIGHLIGHT
:
643 case CONTROL_TEXT_DISABLED
:
644 case CONTROL_TEXT_DISABLED_SHADOW
:
647 case TITLEBAR_ACTIVE_TEXT
:
653 // ============================================================================
655 // ============================================================================
657 // ----------------------------------------------------------------------------
659 // ----------------------------------------------------------------------------
661 wxMonoRenderer::wxMonoRenderer(const wxColourScheme
*scheme
)
662 : wxStdRenderer(scheme
)
664 m_penFg
= wxPen(wxMONO_FG_COL
);
667 // ----------------------------------------------------------------------------
669 // ----------------------------------------------------------------------------
671 wxRect
wxMonoRenderer::GetBorderDimensions(wxBorder border
) const
676 case wxBORDER_SIMPLE
:
677 case wxBORDER_STATIC
:
678 case wxBORDER_RAISED
:
679 case wxBORDER_SUNKEN
:
683 case wxBORDER_DOUBLE
:
688 wxFAIL_MSG(_T("unknown border type"));
691 case wxBORDER_DEFAULT
:
706 void wxMonoRenderer::DrawBorder(wxDC
& dc
,
708 const wxRect
& rectTotal
,
712 wxRect rect
= rectTotal
;
716 case wxBORDER_DOUBLE
:
717 DrawSimpleBorder(dc
, &rect
);
720 case wxBORDER_SUNKEN
:
721 case wxBORDER_STATIC
:
722 case wxBORDER_RAISED
:
723 case wxBORDER_SIMPLE
:
724 DrawSimpleBorder(dc
, &rect
);
728 wxFAIL_MSG(_T("unknown border type"));
731 case wxBORDER_DEFAULT
:
740 void wxMonoRenderer::DrawButtonBorder(wxDC
& dc
,
745 DrawBorder(dc
, wxBORDER_SIMPLE
, rect
, flags
, rectIn
);
748 // ----------------------------------------------------------------------------
750 // ----------------------------------------------------------------------------
753 wxMonoRenderer::DrawHorizontalLine(wxDC
& dc
, wxCoord y
, wxCoord x1
, wxCoord x2
)
756 dc
.DrawLine(x1
, y
, x2
+ 1, y
);
760 wxMonoRenderer::DrawVerticalLine(wxDC
& dc
, wxCoord x
, wxCoord y1
, wxCoord y2
)
763 dc
.DrawLine(x
, y1
, x
, y2
+ 1);
766 // ----------------------------------------------------------------------------
768 // ----------------------------------------------------------------------------
770 void wxMonoRenderer::DrawButtonLabel(wxDC
& dc
,
771 const wxString
& label
,
772 const wxBitmap
& image
,
779 dc
.SetTextForeground(m_penFg
.GetColour());
780 dc
.DrawLabel(label
, image
, rect
, alignment
, indexAccel
, rectBounds
);
782 if ( flags
& wxCONTROL_DISABLED
)
784 // this is ugly but I don't know how to show disabled button visually
785 // in monochrome theme otherwise, so cross it out
787 dc
.DrawLine(rect
.GetTopLeft(), rect
.GetBottomRight());
788 dc
.DrawLine(rect
.GetTopRight(), rect
.GetBottomLeft());
792 // ----------------------------------------------------------------------------
793 // check/radion buttons
794 // ----------------------------------------------------------------------------
796 wxBitmap
wxMonoRenderer::GetIndicator(IndicatorType indType
, int flags
)
798 IndicatorState indState
;
799 IndicatorStatus indStatus
;
800 GetIndicatorsFromFlags(flags
, indState
, indStatus
);
802 wxBitmap
& bmp
= m_bmpIndicators
[indType
][indState
][indStatus
];
805 const char **xpm
= ms_xpmIndicators
[indType
][indState
][indStatus
];
808 // create and cache it
816 // ----------------------------------------------------------------------------
818 // ----------------------------------------------------------------------------
822 void wxMonoRenderer::DrawToolBarButton(wxDC
& dc
,
823 const wxString
& label
,
824 const wxBitmap
& bitmap
,
830 wxFAIL_MSG(_T("TODO"));
833 wxSize
wxMonoRenderer::GetToolBarButtonSize(wxCoord
*separator
) const
835 wxFAIL_MSG(_T("TODO"));
840 wxSize
wxMonoRenderer::GetToolBarMargin() const
842 wxFAIL_MSG(_T("TODO"));
847 #endif // wxUSE_TOOLBAR
849 // ----------------------------------------------------------------------------
851 // ----------------------------------------------------------------------------
855 void wxMonoRenderer::DrawTab(wxDC
& dc
,
858 const wxString
& label
,
859 const wxBitmap
& bitmap
,
863 wxFAIL_MSG(_T("TODO"));
866 wxSize
wxMonoRenderer::GetTabIndent() const
868 wxFAIL_MSG(_T("TODO"));
873 wxSize
wxMonoRenderer::GetTabPadding() const
875 wxFAIL_MSG(_T("TODO"));
880 #endif // wxUSE_NOTEBOOK
882 // ----------------------------------------------------------------------------
884 // ----------------------------------------------------------------------------
888 void wxMonoRenderer::GetComboBitmaps(wxBitmap
*bmpNormal
,
890 wxBitmap
*bmpPressed
,
891 wxBitmap
*bmpDisabled
)
893 wxFAIL_MSG(_T("TODO"));
896 #endif // wxUSE_COMBOBOX
898 // ----------------------------------------------------------------------------
900 // ----------------------------------------------------------------------------
904 void wxMonoRenderer::DrawMenuBarItem(wxDC
& dc
,
906 const wxString
& label
,
910 wxFAIL_MSG(_T("TODO"));
913 void wxMonoRenderer::DrawMenuItem(wxDC
& dc
,
915 const wxMenuGeometryInfo
& geometryInfo
,
916 const wxString
& label
,
917 const wxString
& accel
,
918 const wxBitmap
& bitmap
,
922 wxFAIL_MSG(_T("TODO"));
925 void wxMonoRenderer::DrawMenuSeparator(wxDC
& dc
,
927 const wxMenuGeometryInfo
& geomInfo
)
929 wxFAIL_MSG(_T("TODO"));
932 wxSize
wxMonoRenderer::GetMenuBarItemSize(const wxSize
& sizeText
) const
934 wxFAIL_MSG(_T("TODO"));
939 wxMenuGeometryInfo
*wxMonoRenderer::GetMenuGeometry(wxWindow
*win
,
940 const wxMenu
& menu
) const
942 wxFAIL_MSG(_T("TODO"));
947 #endif // wxUSE_MENUS
949 // ----------------------------------------------------------------------------
951 // ----------------------------------------------------------------------------
955 void wxMonoRenderer::DrawSliderShaft(wxDC
& dc
,
958 wxOrientation orient
,
963 wxFAIL_MSG(_T("TODO"));
967 void wxMonoRenderer::DrawSliderThumb(wxDC
& dc
,
969 wxOrientation orient
,
973 wxFAIL_MSG(_T("TODO"));
976 void wxMonoRenderer::DrawSliderTicks(wxDC
& dc
,
979 wxOrientation orient
,
986 wxFAIL_MSG(_T("TODO"));
989 wxCoord
wxMonoRenderer::GetSliderDim() const
991 wxFAIL_MSG(_T("TODO"));
996 wxCoord
wxMonoRenderer::GetSliderTickLen() const
998 wxFAIL_MSG(_T("TODO"));
1004 wxRect
wxMonoRenderer::GetSliderShaftRect(const wxRect
& rect
,
1006 wxOrientation orient
,
1009 wxFAIL_MSG(_T("TODO"));
1014 wxSize
wxMonoRenderer::GetSliderThumbSize(const wxRect
& rect
,
1016 wxOrientation orient
) const
1018 wxFAIL_MSG(_T("TODO"));
1023 #endif // wxUSE_SLIDER
1025 wxSize
wxMonoRenderer::GetProgressBarStep() const
1027 wxFAIL_MSG(_T("TODO"));
1033 // ----------------------------------------------------------------------------
1035 // ----------------------------------------------------------------------------
1037 void wxMonoRenderer::DrawArrow(wxDC
& dc
,
1040 int WXUNUSED(flags
))
1042 ArrowDirection arrowDir
= GetArrowDirection(dir
);
1043 wxCHECK_RET( arrowDir
!= Arrow_Max
, _T("invalid arrow direction") );
1045 wxBitmap
& bmp
= m_bmpArrows
[arrowDir
];
1048 bmp
= wxBitmap(ms_xpmArrows
[arrowDir
]);
1051 wxRect
rectArrow(0, 0, bmp
.GetWidth(), bmp
.GetHeight());
1052 dc
.DrawBitmap(bmp
, rectArrow
.CentreIn(rect
).GetPosition(), true /* use mask */);
1055 void wxMonoRenderer::DrawScrollbarThumb(wxDC
& dc
,
1056 wxOrientation
WXUNUSED(orient
),
1058 int WXUNUSED(flags
))
1060 DrawSolidRect(dc
, wxMONO_FG_COL
, rect
);
1063 void wxMonoRenderer::DrawScrollbarShaft(wxDC
& dc
,
1064 wxOrientation
WXUNUSED(orient
),
1066 int WXUNUSED(flags
))
1068 DrawSolidRect(dc
, wxMONO_BG_COL
, rect
);
1071 // ----------------------------------------------------------------------------
1072 // top level windows
1073 // ----------------------------------------------------------------------------
1075 void wxMonoRenderer::DrawFrameTitleBar(wxDC
& WXUNUSED(dc
),
1076 const wxRect
& WXUNUSED(rect
),
1077 const wxString
& WXUNUSED(title
),
1078 const wxIcon
& WXUNUSED(icon
),
1079 int WXUNUSED(flags
),
1080 int WXUNUSED(specialButton
),
1081 int WXUNUSED(specialButtonFlag
))
1085 void wxMonoRenderer::DrawFrameBorder(wxDC
& WXUNUSED(dc
),
1086 const wxRect
& WXUNUSED(rect
),
1087 int WXUNUSED(flags
))
1091 void wxMonoRenderer::DrawFrameBackground(wxDC
& WXUNUSED(dc
),
1092 const wxRect
& WXUNUSED(rect
),
1093 int WXUNUSED(flags
))
1097 void wxMonoRenderer::DrawFrameTitle(wxDC
& WXUNUSED(dc
),
1098 const wxRect
& WXUNUSED(rect
),
1099 const wxString
& WXUNUSED(title
),
1100 int WXUNUSED(flags
))
1104 void wxMonoRenderer::DrawFrameIcon(wxDC
& WXUNUSED(dc
),
1105 const wxRect
& WXUNUSED(rect
),
1106 const wxIcon
& WXUNUSED(icon
),
1107 int WXUNUSED(flags
))
1111 void wxMonoRenderer::DrawFrameButton(wxDC
& WXUNUSED(dc
),
1112 wxCoord
WXUNUSED(x
),
1113 wxCoord
WXUNUSED(y
),
1114 int WXUNUSED(button
),
1115 int WXUNUSED(flags
))
1120 wxMonoRenderer::GetFrameClientArea(const wxRect
& rect
,
1121 int WXUNUSED(flags
)) const
1127 wxMonoRenderer::GetFrameTotalSize(const wxSize
& clientSize
,
1128 int WXUNUSED(flags
)) const
1133 wxSize
wxMonoRenderer::GetFrameMinSize(int WXUNUSED(flags
)) const
1138 wxSize
wxMonoRenderer::GetFrameIconSize() const
1140 return wxSize(wxDefaultCoord
, wxDefaultCoord
);
1144 wxMonoRenderer::HitTestFrame(const wxRect
& WXUNUSED(rect
),
1145 const wxPoint
& WXUNUSED(pt
),
1146 int WXUNUSED(flags
)) const
1148 return wxHT_TOPLEVEL_CLIENT_AREA
;
1152 // ----------------------------------------------------------------------------
1153 // wxMonoArtProvider
1154 // ----------------------------------------------------------------------------
1156 wxBitmap
wxMonoArtProvider::CreateBitmap(const wxArtID
& WXUNUSED(id
),
1157 const wxArtClient
& WXUNUSED(client
),
1158 const wxSize
& WXUNUSED(size
))
1160 return wxNullBitmap
;