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"
27 #include "wx/univ/theme.h"
32 #include "wx/window.h"
36 #include "wx/artprov.h"
37 #include "wx/univ/stdrend.h"
38 #include "wx/univ/inphand.h"
39 #include "wx/univ/colschem.h"
41 class wxMonoColourScheme
;
43 #define wxMONO_BG_COL (*wxWHITE)
44 #define wxMONO_FG_COL (*wxBLACK)
46 // ----------------------------------------------------------------------------
47 // wxMonoRenderer: draw the GUI elements in simplest possible way
48 // ----------------------------------------------------------------------------
50 // Warning: many of the methods here are not implemented, the code won't work
51 // if any but a few wxUSE_XXXs are on
52 class wxMonoRenderer
: public wxStdRenderer
55 wxMonoRenderer(const wxColourScheme
*scheme
);
57 virtual void DrawButtonLabel(wxDC
& dc
,
58 const wxString
& label
,
59 const wxBitmap
& image
,
62 int alignment
= wxALIGN_LEFT
| wxALIGN_TOP
,
64 wxRect
*rectBounds
= NULL
);
66 virtual void DrawFocusRect(wxWindow
* win
, wxDC
& dc
, const wxRect
& rect
, int flags
= 0);
68 virtual void DrawButtonBorder(wxDC
& dc
,
71 wxRect
*rectIn
= NULL
);
73 virtual void DrawHorizontalLine(wxDC
& dc
,
74 wxCoord y
, wxCoord x1
, wxCoord x2
);
76 virtual void DrawVerticalLine(wxDC
& dc
,
77 wxCoord x
, wxCoord y1
, wxCoord y2
);
79 virtual void DrawArrow(wxDC
& dc
,
83 virtual void DrawScrollbarThumb(wxDC
& dc
,
87 virtual void DrawScrollbarShaft(wxDC
& dc
,
93 virtual void DrawToolBarButton(wxDC
& dc
,
94 const wxString
& label
,
95 const wxBitmap
& bitmap
,
100 #endif // wxUSE_TOOLBAR
103 virtual void DrawTab(wxDC
& dc
,
106 const wxString
& label
,
107 const wxBitmap
& bitmap
= wxNullBitmap
,
109 int indexAccel
= -1);
110 #endif // wxUSE_NOTEBOOK
113 virtual void DrawSliderShaft(wxDC
& dc
,
116 wxOrientation orient
,
119 wxRect
*rectShaft
= NULL
);
121 virtual void DrawSliderThumb(wxDC
& dc
,
123 wxOrientation orient
,
127 virtual void DrawSliderTicks(wxDC
& dc
,
130 wxOrientation orient
,
136 #endif // wxUSE_SLIDER
139 virtual void DrawMenuBarItem(wxDC
& dc
,
141 const wxString
& label
,
143 int indexAccel
= -1);
145 virtual void DrawMenuItem(wxDC
& dc
,
147 const wxMenuGeometryInfo
& geometryInfo
,
148 const wxString
& label
,
149 const wxString
& accel
,
150 const wxBitmap
& bitmap
= wxNullBitmap
,
152 int indexAccel
= -1);
154 virtual void DrawMenuSeparator(wxDC
& dc
,
156 const wxMenuGeometryInfo
& geomInfo
);
157 #endif // wxUSE_MENUS
160 virtual void GetComboBitmaps(wxBitmap
*bmpNormal
,
162 wxBitmap
*bmpPressed
,
163 wxBitmap
*bmpDisabled
);
164 #endif // wxUSE_COMBOBOX
167 virtual wxRect
GetBorderDimensions(wxBorder border
) const;
170 virtual wxSize
GetScrollbarArrowSize() const { return GetStdBmpSize(); }
171 #endif // wxUSE_SCROLLBAR
173 virtual wxSize
GetCheckBitmapSize() const { return GetStdBmpSize(); }
174 virtual wxSize
GetRadioBitmapSize() const { return GetStdBmpSize(); }
177 virtual wxSize
GetToolBarButtonSize(wxCoord
*separator
) const;
179 virtual wxSize
GetToolBarMargin() const;
180 #endif // wxUSE_TOOLBAR
183 virtual wxSize
GetTabIndent() const;
185 virtual wxSize
GetTabPadding() const;
186 #endif // wxUSE_NOTEBOOK
189 virtual wxCoord
GetSliderDim() const;
191 virtual wxCoord
GetSliderTickLen() const;
193 virtual wxRect
GetSliderShaftRect(const wxRect
& rect
,
195 wxOrientation orient
,
196 long style
= 0) const;
198 virtual wxSize
GetSliderThumbSize(const wxRect
& rect
,
200 wxOrientation orient
) const;
201 #endif // wxUSE_SLIDER
203 virtual wxSize
GetProgressBarStep() const;
206 virtual wxSize
GetMenuBarItemSize(const wxSize
& sizeText
) const;
208 virtual wxMenuGeometryInfo
*GetMenuGeometry(wxWindow
*win
,
209 const wxMenu
& menu
) const;
210 #endif // wxUSE_MENUS
213 virtual wxCoord
GetStatusBarBorderBetweenFields() const;
215 virtual wxSize
GetStatusBarFieldMargins() const;
216 #endif // wxUSE_STATUSBAR
219 // override base class border drawing routines: we always draw just a
220 // single simple border
221 void DrawSimpleBorder(wxDC
& dc
, wxRect
*rect
)
222 { DrawRect(dc
, rect
, m_penFg
); }
224 virtual void DrawRaisedBorder(wxDC
& dc
, wxRect
*rect
)
225 { DrawSimpleBorder(dc
, rect
); }
226 virtual void DrawSunkenBorder(wxDC
& dc
, wxRect
*rect
)
227 { DrawSimpleBorder(dc
, rect
); }
228 virtual void DrawAntiSunkenBorder(wxDC
& dc
, wxRect
*rect
)
229 { DrawSimpleBorder(dc
, rect
); }
230 virtual void DrawBoxBorder(wxDC
& dc
, wxRect
*rect
)
231 { DrawSimpleBorder(dc
, rect
); }
232 virtual void DrawStaticBorder(wxDC
& dc
, wxRect
*rect
)
233 { DrawSimpleBorder(dc
, rect
); }
234 virtual void DrawExtraBorder(wxDC
& WXUNUSED(dc
), wxRect
* WXUNUSED(rect
))
235 { /* no extra borders for us */ }
237 // all our XPMs are of this size
238 static wxSize
GetStdBmpSize() { return wxSize(8, 8); }
240 wxBitmap
GetIndicator(IndicatorType indType
, int flags
);
241 virtual wxBitmap
GetCheckBitmap(int flags
)
242 { return GetIndicator(IndicatorType_Check
, flags
); }
243 virtual wxBitmap
GetRadioBitmap(int flags
)
244 { return GetIndicator(IndicatorType_Radio
, flags
); }
246 virtual wxBitmap
GetFrameButtonBitmap(FrameButtonType type
);
247 virtual int GetFrameBorderWidth(int flags
) const;
250 // the bitmaps returned by GetIndicator()
251 wxBitmap m_bmpIndicators
[IndicatorType_MaxCtrl
]
252 [IndicatorState_MaxCtrl
]
253 [IndicatorStatus_Max
];
255 static const char **ms_xpmIndicators
[IndicatorType_MaxCtrl
]
256 [IndicatorState_MaxCtrl
]
257 [IndicatorStatus_Max
];
259 // the arrow bitmaps used by DrawArrow()
260 wxBitmap m_bmpArrows
[Arrow_Max
];
262 static const char **ms_xpmArrows
[Arrow_Max
];
264 // the close bitmap for the frame for GetFrameButtonBitmap()
265 wxBitmap m_bmpFrameClose
;
267 // pen used for foreground drawing
271 // ----------------------------------------------------------------------------
273 // ----------------------------------------------------------------------------
275 static const char *xpmUnchecked
[] = {
276 /* columns rows colors chars-per-pixel */
291 static const char *xpmChecked
[] = {
292 /* columns rows colors chars-per-pixel */
307 static const char *xpmUndeterminate
[] = {
308 /* columns rows colors chars-per-pixel */
323 static const char *xpmRadioUnchecked
[] = {
324 /* columns rows colors chars-per-pixel */
339 static const char *xpmRadioChecked
[] = {
340 /* columns rows colors chars-per-pixel */
355 const char **wxMonoRenderer::ms_xpmIndicators
[IndicatorType_MaxCtrl
]
356 [IndicatorState_MaxCtrl
]
357 [IndicatorStatus_Max
] =
362 { xpmChecked
, xpmUnchecked
, xpmUndeterminate
},
365 { xpmUndeterminate
, xpmUndeterminate
, xpmUndeterminate
},
368 { xpmUndeterminate
, xpmUndeterminate
, xpmUndeterminate
},
374 { xpmRadioChecked
, xpmRadioUnchecked
, xpmUndeterminate
},
377 { xpmUndeterminate
, xpmUndeterminate
, xpmUndeterminate
},
380 { xpmUndeterminate
, xpmUndeterminate
, xpmUndeterminate
},
384 static const char *xpmLeftArrow
[] = {
385 /* columns rows colors chars-per-pixel */
400 static const char *xpmRightArrow
[] = {
401 /* columns rows colors chars-per-pixel */
416 static const char *xpmUpArrow
[] = {
417 /* columns rows colors chars-per-pixel */
432 static const char *xpmDownArrow
[] = {
433 /* columns rows colors chars-per-pixel */
448 const char **wxMonoRenderer::ms_xpmArrows
[Arrow_Max
] =
450 xpmLeftArrow
, xpmRightArrow
, xpmUpArrow
, xpmDownArrow
,
453 // ----------------------------------------------------------------------------
454 // wxMonoColourScheme: uses just white and black
455 // ----------------------------------------------------------------------------
457 class wxMonoColourScheme
: public wxColourScheme
460 // we use only 2 colours, white and black, but we avoid referring to them
461 // like this, instead use the functions below
462 wxColour
GetFg() const { return wxMONO_FG_COL
; }
463 wxColour
GetBg() const { return wxMONO_BG_COL
; }
465 // implement base class pure virtuals
466 virtual wxColour
Get(StdColour col
) const;
467 virtual wxColour
GetBackground(wxWindow
*win
) const;
470 // ----------------------------------------------------------------------------
472 // ----------------------------------------------------------------------------
474 class wxMonoArtProvider
: public wxArtProvider
477 virtual wxBitmap
CreateBitmap(const wxArtID
& id
,
478 const wxArtClient
& client
,
482 // ----------------------------------------------------------------------------
484 // ----------------------------------------------------------------------------
486 class wxMonoTheme
: public wxTheme
490 virtual ~wxMonoTheme();
492 virtual wxRenderer
*GetRenderer();
493 virtual wxArtProvider
*GetArtProvider();
494 virtual wxInputHandler
*GetInputHandler(const wxString
& control
,
495 wxInputConsumer
*consumer
);
496 virtual wxColourScheme
*GetColourScheme();
499 wxMonoRenderer
*m_renderer
;
500 wxMonoArtProvider
*m_artProvider
;
501 wxMonoColourScheme
*m_scheme
;
503 WX_DECLARE_THEME(mono
)
506 // ============================================================================
508 // ============================================================================
510 WX_IMPLEMENT_THEME(wxMonoTheme
, mono
, wxTRANSLATE("Simple monochrome theme"));
512 // ----------------------------------------------------------------------------
514 // ----------------------------------------------------------------------------
516 wxMonoTheme::wxMonoTheme()
520 m_artProvider
= NULL
;
523 wxMonoTheme::~wxMonoTheme()
527 delete m_artProvider
;
530 wxRenderer
*wxMonoTheme::GetRenderer()
534 m_renderer
= new wxMonoRenderer(GetColourScheme());
540 wxArtProvider
*wxMonoTheme::GetArtProvider()
542 if ( !m_artProvider
)
544 m_artProvider
= new wxMonoArtProvider
;
547 return m_artProvider
;
550 wxColourScheme
*wxMonoTheme::GetColourScheme()
554 m_scheme
= new wxMonoColourScheme
;
560 wxInputHandler
*wxMonoTheme::GetInputHandler(const wxString
& WXUNUSED(control
),
561 wxInputConsumer
*consumer
)
563 // no special input handlers so far
564 return consumer
->DoGetStdInputHandler(NULL
);
567 // ============================================================================
568 // wxMonoColourScheme
569 // ============================================================================
571 wxColour
wxMonoColourScheme::GetBackground(wxWindow
*win
) const
574 if ( win
->UseBgCol() )
576 // use the user specified colour
577 col
= win
->GetBackgroundColour();
580 // doesn't depend on the state
589 wxColour
wxMonoColourScheme::Get(wxMonoColourScheme::StdColour col
) const
595 case CONTROL_PRESSED
:
596 case CONTROL_CURRENT
:
598 case SCROLLBAR_PRESSED
:
601 case TITLEBAR_ACTIVE
:
609 wxFAIL_MSG(_T("invalid standard colour"));
613 case SHADOW_HIGHLIGHT
:
617 case CONTROL_TEXT_DISABLED
:
618 case CONTROL_TEXT_DISABLED_SHADOW
:
620 case TITLEBAR_ACTIVE_TEXT
:
627 // ============================================================================
629 // ============================================================================
631 // ----------------------------------------------------------------------------
633 // ----------------------------------------------------------------------------
635 wxMonoRenderer::wxMonoRenderer(const wxColourScheme
*scheme
)
636 : wxStdRenderer(scheme
)
638 m_penFg
= wxPen(wxMONO_FG_COL
);
641 // ----------------------------------------------------------------------------
643 // ----------------------------------------------------------------------------
645 wxRect
wxMonoRenderer::GetBorderDimensions(wxBorder border
) const
650 case wxBORDER_SIMPLE
:
651 case wxBORDER_STATIC
:
652 case wxBORDER_RAISED
:
653 case wxBORDER_SUNKEN
:
658 case wxBORDER_DOUBLE:
663 wxFAIL_MSG(_T("unknown border type"));
666 case wxBORDER_DEFAULT
:
681 void wxMonoRenderer::DrawButtonBorder(wxDC
& dc
,
686 DrawBorder(dc
, wxBORDER_SIMPLE
, rect
, flags
, rectIn
);
689 // ----------------------------------------------------------------------------
691 // ----------------------------------------------------------------------------
694 wxMonoRenderer::DrawHorizontalLine(wxDC
& dc
, wxCoord y
, wxCoord x1
, wxCoord x2
)
697 dc
.DrawLine(x1
, y
, x2
+ 1, y
);
701 wxMonoRenderer::DrawVerticalLine(wxDC
& dc
, wxCoord x
, wxCoord y1
, wxCoord y2
)
704 dc
.DrawLine(x
, y1
, x
, y2
+ 1);
707 void wxMonoRenderer::DrawFocusRect(wxWindow
* WXUNUSED(win
), wxDC
& dc
, const wxRect
& rect
, int flags
)
709 // no need to draw the focus rect for selected items, it would be invisible
711 if ( !(flags
& wxCONTROL_SELECTED
) )
714 dc
.SetBrush(*wxTRANSPARENT_BRUSH
);
715 dc
.DrawRectangle(rect
);
719 // ----------------------------------------------------------------------------
721 // ----------------------------------------------------------------------------
723 void wxMonoRenderer::DrawButtonLabel(wxDC
& dc
,
724 const wxString
& label
,
725 const wxBitmap
& image
,
732 dc
.DrawLabel(label
, image
, rect
, alignment
, indexAccel
, rectBounds
);
734 if ( flags
& wxCONTROL_DISABLED
)
736 // this is ugly but I don't know how to show disabled button visually
737 // in monochrome theme otherwise, so cross it out
739 dc
.DrawLine(rect
.GetTopLeft(), rect
.GetBottomRight());
740 dc
.DrawLine(rect
.GetTopRight(), rect
.GetBottomLeft());
744 // ----------------------------------------------------------------------------
746 // ----------------------------------------------------------------------------
748 wxBitmap
wxMonoRenderer::GetIndicator(IndicatorType indType
, int flags
)
750 IndicatorState indState
;
751 IndicatorStatus indStatus
;
752 GetIndicatorsFromFlags(flags
, indState
, indStatus
);
754 wxBitmap
& bmp
= m_bmpIndicators
[indType
][indState
][indStatus
];
757 const char **xpm
= ms_xpmIndicators
[indType
][indState
][indStatus
];
760 // create and cache it
768 wxBitmap
wxMonoRenderer::GetFrameButtonBitmap(FrameButtonType type
)
770 if ( type
== FrameButton_Close
)
772 if ( !m_bmpFrameClose
.Ok() )
774 static const char *xpmFrameClose
[] = {
775 /* columns rows colors chars-per-pixel */
790 m_bmpFrameClose
= wxBitmap(xpmFrameClose
);
793 return m_bmpFrameClose
;
796 // we don't show any other buttons than close
800 // ----------------------------------------------------------------------------
802 // ----------------------------------------------------------------------------
806 void wxMonoRenderer::DrawToolBarButton(wxDC
& WXUNUSED(dc
),
807 const wxString
& WXUNUSED(label
),
808 const wxBitmap
& WXUNUSED(bitmap
),
809 const wxRect
& WXUNUSED(rect
),
811 long WXUNUSED(style
),
812 int WXUNUSED(tbarStyle
))
814 wxFAIL_MSG(_T("TODO"));
817 wxSize
wxMonoRenderer::GetToolBarButtonSize(wxCoord
*WXUNUSED(separator
)) const
819 wxFAIL_MSG(_T("TODO"));
824 wxSize
wxMonoRenderer::GetToolBarMargin() const
826 wxFAIL_MSG(_T("TODO"));
831 #endif // wxUSE_TOOLBAR
833 // ----------------------------------------------------------------------------
835 // ----------------------------------------------------------------------------
839 void wxMonoRenderer::DrawTab(wxDC
& WXUNUSED(dc
),
840 const wxRect
& WXUNUSED(rect
),
841 wxDirection
WXUNUSED(dir
),
842 const wxString
& WXUNUSED(label
),
843 const wxBitmap
& WXUNUSED(bitmap
),
845 int WXUNUSED(indexAccel
))
847 wxFAIL_MSG(_T("TODO"));
850 wxSize
wxMonoRenderer::GetTabIndent() const
852 wxFAIL_MSG(_T("TODO"));
857 wxSize
wxMonoRenderer::GetTabPadding() const
859 wxFAIL_MSG(_T("TODO"));
864 #endif // wxUSE_NOTEBOOK
866 // ----------------------------------------------------------------------------
868 // ----------------------------------------------------------------------------
872 void wxMonoRenderer::GetComboBitmaps(wxBitmap
*WXUNUSED(bmpNormal
),
873 wxBitmap
*WXUNUSED(bmpFocus
),
874 wxBitmap
*WXUNUSED(bmpPressed
),
875 wxBitmap
*WXUNUSED(bmpDisabled
))
877 wxFAIL_MSG(_T("TODO"));
880 #endif // wxUSE_COMBOBOX
882 // ----------------------------------------------------------------------------
884 // ----------------------------------------------------------------------------
888 void wxMonoRenderer::DrawMenuBarItem(wxDC
& WXUNUSED(dc
),
889 const wxRect
& WXUNUSED(rect
),
890 const wxString
& WXUNUSED(label
),
892 int WXUNUSED(indexAccel
))
894 wxFAIL_MSG(_T("TODO"));
897 void wxMonoRenderer::DrawMenuItem(wxDC
& WXUNUSED(dc
),
899 const wxMenuGeometryInfo
& WXUNUSED(geometryInfo
),
900 const wxString
& WXUNUSED(label
),
901 const wxString
& WXUNUSED(accel
),
902 const wxBitmap
& WXUNUSED(bitmap
),
904 int WXUNUSED(indexAccel
))
906 wxFAIL_MSG(_T("TODO"));
909 void wxMonoRenderer::DrawMenuSeparator(wxDC
& WXUNUSED(dc
),
911 const wxMenuGeometryInfo
& WXUNUSED(geomInfo
))
913 wxFAIL_MSG(_T("TODO"));
916 wxSize
wxMonoRenderer::GetMenuBarItemSize(const wxSize
& WXUNUSED(sizeText
)) const
918 wxFAIL_MSG(_T("TODO"));
923 wxMenuGeometryInfo
*wxMonoRenderer::GetMenuGeometry(wxWindow
*WXUNUSED(win
),
924 const wxMenu
& WXUNUSED(menu
)) const
926 wxFAIL_MSG(_T("TODO"));
931 #endif // wxUSE_MENUS
933 // ----------------------------------------------------------------------------
935 // ----------------------------------------------------------------------------
939 void wxMonoRenderer::DrawSliderShaft(wxDC
& WXUNUSED(dc
),
940 const wxRect
& WXUNUSED(rect
),
941 int WXUNUSED(lenThumb
),
942 wxOrientation
WXUNUSED(orient
),
944 long WXUNUSED(style
),
945 wxRect
*WXUNUSED(rectShaft
))
947 wxFAIL_MSG(_T("TODO"));
951 void wxMonoRenderer::DrawSliderThumb(wxDC
& WXUNUSED(dc
),
952 const wxRect
& WXUNUSED(rect
),
953 wxOrientation
WXUNUSED(orient
),
955 long WXUNUSED(style
))
957 wxFAIL_MSG(_T("TODO"));
960 void wxMonoRenderer::DrawSliderTicks(wxDC
& WXUNUSED(dc
),
961 const wxRect
& WXUNUSED(rect
),
962 int WXUNUSED(lenThumb
),
963 wxOrientation
WXUNUSED(orient
),
968 long WXUNUSED(style
))
970 wxFAIL_MSG(_T("TODO"));
973 wxCoord
wxMonoRenderer::GetSliderDim() const
975 wxFAIL_MSG(_T("TODO"));
980 wxCoord
wxMonoRenderer::GetSliderTickLen() const
982 wxFAIL_MSG(_T("TODO"));
988 wxRect
wxMonoRenderer::GetSliderShaftRect(const wxRect
& WXUNUSED(rect
),
989 int WXUNUSED(lenThumb
),
990 wxOrientation
WXUNUSED(orient
),
991 long WXUNUSED(style
)) const
993 wxFAIL_MSG(_T("TODO"));
998 wxSize
wxMonoRenderer::GetSliderThumbSize(const wxRect
& WXUNUSED(rect
),
999 int WXUNUSED(lenThumb
),
1000 wxOrientation
WXUNUSED(orient
)) const
1002 wxFAIL_MSG(_T("TODO"));
1007 #endif // wxUSE_SLIDER
1009 wxSize
wxMonoRenderer::GetProgressBarStep() const
1011 wxFAIL_MSG(_T("TODO"));
1017 // ----------------------------------------------------------------------------
1019 // ----------------------------------------------------------------------------
1021 void wxMonoRenderer::DrawArrow(wxDC
& dc
,
1024 int WXUNUSED(flags
))
1026 ArrowDirection arrowDir
= GetArrowDirection(dir
);
1027 wxCHECK_RET( arrowDir
!= Arrow_Max
, _T("invalid arrow direction") );
1029 wxBitmap
& bmp
= m_bmpArrows
[arrowDir
];
1032 bmp
= wxBitmap(ms_xpmArrows
[arrowDir
]);
1035 wxRect
rectArrow(0, 0, bmp
.GetWidth(), bmp
.GetHeight());
1036 dc
.DrawBitmap(bmp
, rectArrow
.CentreIn(rect
).GetPosition(), true /* use mask */);
1039 void wxMonoRenderer::DrawScrollbarThumb(wxDC
& dc
,
1040 wxOrientation
WXUNUSED(orient
),
1042 int WXUNUSED(flags
))
1044 DrawSolidRect(dc
, wxMONO_BG_COL
, rect
);
1046 // manually draw stipple pattern (wxDFB doesn't implement the wxSTIPPLE
1049 for ( wxCoord y
= rect
.GetTop(); y
<= rect
.GetBottom(); y
++ )
1051 for ( wxCoord x
= rect
.GetLeft() + (y
% 2); x
<= rect
.GetRight(); x
+=2 )
1058 void wxMonoRenderer::DrawScrollbarShaft(wxDC
& dc
,
1059 wxOrientation
WXUNUSED(orient
),
1061 int WXUNUSED(flags
))
1063 DrawSolidRect(dc
, wxMONO_BG_COL
, rect
);
1066 // ----------------------------------------------------------------------------
1068 // ----------------------------------------------------------------------------
1072 wxCoord
wxMonoRenderer::GetStatusBarBorderBetweenFields() const
1077 wxSize
wxMonoRenderer::GetStatusBarFieldMargins() const
1079 return wxSize(1, 1);
1082 #endif // wxUSE_STATUSBAR
1084 // ----------------------------------------------------------------------------
1085 // top level windows
1086 // ----------------------------------------------------------------------------
1088 int wxMonoRenderer::GetFrameBorderWidth(int WXUNUSED(flags
)) const
1090 // all our borders are simple
1094 // ----------------------------------------------------------------------------
1095 // wxMonoArtProvider
1096 // ----------------------------------------------------------------------------
1098 wxBitmap
wxMonoArtProvider::CreateBitmap(const wxArtID
& WXUNUSED(id
),
1099 const wxArtClient
& WXUNUSED(client
),
1100 const wxSize
& WXUNUSED(size
))
1102 return wxNullBitmap
;
1105 #endif // wxUSE_THEME_MONO