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"
35 #include "wx/artprov.h"
36 #include "wx/univ/stdrend.h"
37 #include "wx/univ/inphand.h"
38 #include "wx/univ/colschem.h"
40 class wxMonoColourScheme
;
42 #define wxMONO_BG_COL (*wxWHITE)
43 #define wxMONO_FG_COL (*wxBLACK)
45 // ----------------------------------------------------------------------------
46 // wxMonoRenderer: draw the GUI elements in simplest possible way
47 // ----------------------------------------------------------------------------
49 // Warning: many of the methods here are not implemented, the code won't work
50 // if any but a few wxUSE_XXXs are on
51 class wxMonoRenderer
: public wxStdRenderer
54 wxMonoRenderer(const wxColourScheme
*scheme
);
56 virtual void DrawButtonLabel(wxDC
& dc
,
57 const wxString
& label
,
58 const wxBitmap
& image
,
61 int alignment
= wxALIGN_LEFT
| wxALIGN_TOP
,
63 wxRect
*rectBounds
= NULL
);
65 virtual void DrawFocusRect(wxWindow
* win
, wxDC
& dc
, const wxRect
& rect
, int flags
= 0);
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
159 virtual void GetComboBitmaps(wxBitmap
*bmpNormal
,
161 wxBitmap
*bmpPressed
,
162 wxBitmap
*bmpDisabled
);
163 #endif // wxUSE_COMBOBOX
166 virtual wxRect
GetBorderDimensions(wxBorder border
) const;
169 virtual wxSize
GetScrollbarArrowSize() const { return GetStdBmpSize(); }
170 #endif // wxUSE_SCROLLBAR
172 virtual wxSize
GetCheckBitmapSize() const { return GetStdBmpSize(); }
173 virtual wxSize
GetRadioBitmapSize() const { return GetStdBmpSize(); }
176 virtual wxSize
GetToolBarButtonSize(wxCoord
*separator
) const;
178 virtual wxSize
GetToolBarMargin() const;
179 #endif // wxUSE_TOOLBAR
182 virtual wxSize
GetTabIndent() const;
184 virtual wxSize
GetTabPadding() const;
185 #endif // wxUSE_NOTEBOOK
188 virtual wxCoord
GetSliderDim() const;
190 virtual wxCoord
GetSliderTickLen() const;
192 virtual wxRect
GetSliderShaftRect(const wxRect
& rect
,
194 wxOrientation orient
,
195 long style
= 0) const;
197 virtual wxSize
GetSliderThumbSize(const wxRect
& rect
,
199 wxOrientation orient
) const;
200 #endif // wxUSE_SLIDER
202 virtual wxSize
GetProgressBarStep() const;
205 virtual wxSize
GetMenuBarItemSize(const wxSize
& sizeText
) const;
207 virtual wxMenuGeometryInfo
*GetMenuGeometry(wxWindow
*win
,
208 const wxMenu
& menu
) const;
209 #endif // wxUSE_MENUS
212 virtual wxCoord
GetStatusBarBorderBetweenFields() const;
214 virtual wxSize
GetStatusBarFieldMargins() const;
215 #endif // wxUSE_STATUSBAR
218 // override base class border drawing routines: we always draw just a
219 // single simple border
220 void DrawSimpleBorder(wxDC
& dc
, wxRect
*rect
)
221 { DrawRect(dc
, rect
, m_penFg
); }
223 virtual void DrawRaisedBorder(wxDC
& dc
, wxRect
*rect
)
224 { DrawSimpleBorder(dc
, rect
); }
225 virtual void DrawSunkenBorder(wxDC
& dc
, wxRect
*rect
)
226 { DrawSimpleBorder(dc
, rect
); }
227 virtual void DrawAntiSunkenBorder(wxDC
& dc
, wxRect
*rect
)
228 { DrawSimpleBorder(dc
, rect
); }
229 virtual void DrawBoxBorder(wxDC
& dc
, wxRect
*rect
)
230 { DrawSimpleBorder(dc
, rect
); }
231 virtual void DrawStaticBorder(wxDC
& dc
, wxRect
*rect
)
232 { DrawSimpleBorder(dc
, rect
); }
233 virtual void DrawExtraBorder(wxDC
& WXUNUSED(dc
), wxRect
* WXUNUSED(rect
))
234 { /* no extra borders for us */ }
236 // all our XPMs are of this size
237 static wxSize
GetStdBmpSize() { return wxSize(8, 8); }
239 wxBitmap
GetIndicator(IndicatorType indType
, int flags
);
240 virtual wxBitmap
GetCheckBitmap(int flags
)
241 { return GetIndicator(IndicatorType_Check
, flags
); }
242 virtual wxBitmap
GetRadioBitmap(int flags
)
243 { return GetIndicator(IndicatorType_Radio
, flags
); }
245 virtual wxBitmap
GetFrameButtonBitmap(FrameButtonType type
);
246 virtual int GetFrameBorderWidth(int flags
) const;
249 // the bitmaps returned by GetIndicator()
250 wxBitmap m_bmpIndicators
[IndicatorType_MaxCtrl
]
251 [IndicatorState_MaxCtrl
]
252 [IndicatorStatus_Max
];
254 static const char **ms_xpmIndicators
[IndicatorType_MaxCtrl
]
255 [IndicatorState_MaxCtrl
]
256 [IndicatorStatus_Max
];
258 // the arrow bitmaps used by DrawArrow()
259 wxBitmap m_bmpArrows
[Arrow_Max
];
261 static const char **ms_xpmArrows
[Arrow_Max
];
263 // the close bitmap for the frame for GetFrameButtonBitmap()
264 wxBitmap m_bmpFrameClose
;
266 // pen used for foreground drawing
270 // ----------------------------------------------------------------------------
272 // ----------------------------------------------------------------------------
274 static const char *xpmUnchecked
[] = {
275 /* columns rows colors chars-per-pixel */
290 static const char *xpmChecked
[] = {
291 /* columns rows colors chars-per-pixel */
306 static const char *xpmUndeterminate
[] = {
307 /* columns rows colors chars-per-pixel */
322 static const char *xpmRadioUnchecked
[] = {
323 /* columns rows colors chars-per-pixel */
338 static const char *xpmRadioChecked
[] = {
339 /* columns rows colors chars-per-pixel */
354 const char **wxMonoRenderer::ms_xpmIndicators
[IndicatorType_MaxCtrl
]
355 [IndicatorState_MaxCtrl
]
356 [IndicatorStatus_Max
] =
361 { xpmChecked
, xpmUnchecked
, xpmUndeterminate
},
364 { xpmUndeterminate
, xpmUndeterminate
, xpmUndeterminate
},
367 { xpmUndeterminate
, xpmUndeterminate
, xpmUndeterminate
},
373 { xpmRadioChecked
, xpmRadioUnchecked
, xpmUndeterminate
},
376 { xpmUndeterminate
, xpmUndeterminate
, xpmUndeterminate
},
379 { xpmUndeterminate
, xpmUndeterminate
, xpmUndeterminate
},
383 static const char *xpmLeftArrow
[] = {
384 /* columns rows colors chars-per-pixel */
399 static const char *xpmRightArrow
[] = {
400 /* columns rows colors chars-per-pixel */
415 static const char *xpmUpArrow
[] = {
416 /* columns rows colors chars-per-pixel */
431 static const char *xpmDownArrow
[] = {
432 /* columns rows colors chars-per-pixel */
447 const char **wxMonoRenderer::ms_xpmArrows
[Arrow_Max
] =
449 xpmLeftArrow
, xpmRightArrow
, xpmUpArrow
, xpmDownArrow
,
452 // ----------------------------------------------------------------------------
453 // wxMonoColourScheme: uses just white and black
454 // ----------------------------------------------------------------------------
456 class wxMonoColourScheme
: public wxColourScheme
459 // we use only 2 colours, white and black, but we avoid referring to them
460 // like this, instead use the functions below
461 wxColour
GetFg() const { return wxMONO_FG_COL
; }
462 wxColour
GetBg() const { return wxMONO_BG_COL
; }
464 // implement base class pure virtuals
465 virtual wxColour
Get(StdColour col
) const;
466 virtual wxColour
GetBackground(wxWindow
*win
) const;
469 // ----------------------------------------------------------------------------
471 // ----------------------------------------------------------------------------
473 class wxMonoArtProvider
: public wxArtProvider
476 virtual wxBitmap
CreateBitmap(const wxArtID
& id
,
477 const wxArtClient
& client
,
481 // ----------------------------------------------------------------------------
483 // ----------------------------------------------------------------------------
485 class wxMonoTheme
: public wxTheme
489 virtual ~wxMonoTheme();
491 virtual wxRenderer
*GetRenderer();
492 virtual wxArtProvider
*GetArtProvider();
493 virtual wxInputHandler
*GetInputHandler(const wxString
& control
,
494 wxInputConsumer
*consumer
);
495 virtual wxColourScheme
*GetColourScheme();
498 wxMonoRenderer
*m_renderer
;
499 wxMonoArtProvider
*m_artProvider
;
500 wxMonoColourScheme
*m_scheme
;
502 WX_DECLARE_THEME(mono
)
505 // ============================================================================
507 // ============================================================================
509 WX_IMPLEMENT_THEME(wxMonoTheme
, mono
, wxTRANSLATE("Simple monochrome theme"));
511 // ----------------------------------------------------------------------------
513 // ----------------------------------------------------------------------------
515 wxMonoTheme::wxMonoTheme()
519 m_artProvider
= NULL
;
522 wxMonoTheme::~wxMonoTheme()
526 delete m_artProvider
;
529 wxRenderer
*wxMonoTheme::GetRenderer()
533 m_renderer
= new wxMonoRenderer(GetColourScheme());
539 wxArtProvider
*wxMonoTheme::GetArtProvider()
541 if ( !m_artProvider
)
543 m_artProvider
= new wxMonoArtProvider
;
546 return m_artProvider
;
549 wxColourScheme
*wxMonoTheme::GetColourScheme()
553 m_scheme
= new wxMonoColourScheme
;
559 wxInputHandler
*wxMonoTheme::GetInputHandler(const wxString
& WXUNUSED(control
),
560 wxInputConsumer
*consumer
)
562 // no special input handlers so far
563 return consumer
->DoGetStdInputHandler(NULL
);
566 // ============================================================================
567 // wxMonoColourScheme
568 // ============================================================================
570 wxColour
wxMonoColourScheme::GetBackground(wxWindow
*win
) const
573 if ( win
->UseBgCol() )
575 // use the user specified colour
576 col
= win
->GetBackgroundColour();
579 // doesn't depend on the state
588 wxColour
wxMonoColourScheme::Get(wxMonoColourScheme::StdColour col
) const
594 case CONTROL_PRESSED
:
595 case CONTROL_CURRENT
:
597 case SCROLLBAR_PRESSED
:
600 case TITLEBAR_ACTIVE
:
608 wxFAIL_MSG(_T("invalid standard colour"));
612 case SHADOW_HIGHLIGHT
:
616 case CONTROL_TEXT_DISABLED
:
617 case CONTROL_TEXT_DISABLED_SHADOW
:
619 case TITLEBAR_ACTIVE_TEXT
:
626 // ============================================================================
628 // ============================================================================
630 // ----------------------------------------------------------------------------
632 // ----------------------------------------------------------------------------
634 wxMonoRenderer::wxMonoRenderer(const wxColourScheme
*scheme
)
635 : wxStdRenderer(scheme
)
637 m_penFg
= wxPen(wxMONO_FG_COL
);
640 // ----------------------------------------------------------------------------
642 // ----------------------------------------------------------------------------
644 wxRect
wxMonoRenderer::GetBorderDimensions(wxBorder border
) const
649 case wxBORDER_SIMPLE
:
650 case wxBORDER_STATIC
:
651 case wxBORDER_RAISED
:
652 case wxBORDER_SUNKEN
:
657 case wxBORDER_DOUBLE:
662 wxFAIL_MSG(_T("unknown border type"));
665 case wxBORDER_DEFAULT
:
680 void wxMonoRenderer::DrawButtonBorder(wxDC
& dc
,
685 DrawBorder(dc
, wxBORDER_SIMPLE
, rect
, flags
, rectIn
);
688 // ----------------------------------------------------------------------------
690 // ----------------------------------------------------------------------------
693 wxMonoRenderer::DrawHorizontalLine(wxDC
& dc
, wxCoord y
, wxCoord x1
, wxCoord x2
)
696 dc
.DrawLine(x1
, y
, x2
+ 1, y
);
700 wxMonoRenderer::DrawVerticalLine(wxDC
& dc
, wxCoord x
, wxCoord y1
, wxCoord y2
)
703 dc
.DrawLine(x
, y1
, x
, y2
+ 1);
706 void wxMonoRenderer::DrawFocusRect(wxWindow
* WXUNUSED(win
), wxDC
& dc
, const wxRect
& rect
, int flags
)
708 // no need to draw the focus rect for selected items, it would be invisible
710 if ( !(flags
& wxCONTROL_SELECTED
) )
713 dc
.SetBrush(*wxTRANSPARENT_BRUSH
);
714 dc
.DrawRectangle(rect
);
718 // ----------------------------------------------------------------------------
720 // ----------------------------------------------------------------------------
722 void wxMonoRenderer::DrawButtonLabel(wxDC
& dc
,
723 const wxString
& label
,
724 const wxBitmap
& image
,
731 dc
.DrawLabel(label
, image
, rect
, alignment
, indexAccel
, rectBounds
);
733 if ( flags
& wxCONTROL_DISABLED
)
735 // this is ugly but I don't know how to show disabled button visually
736 // in monochrome theme otherwise, so cross it out
738 dc
.DrawLine(rect
.GetTopLeft(), rect
.GetBottomRight());
739 dc
.DrawLine(rect
.GetTopRight(), rect
.GetBottomLeft());
743 // ----------------------------------------------------------------------------
745 // ----------------------------------------------------------------------------
747 wxBitmap
wxMonoRenderer::GetIndicator(IndicatorType indType
, int flags
)
749 IndicatorState indState
;
750 IndicatorStatus indStatus
;
751 GetIndicatorsFromFlags(flags
, indState
, indStatus
);
753 wxBitmap
& bmp
= m_bmpIndicators
[indType
][indState
][indStatus
];
756 const char **xpm
= ms_xpmIndicators
[indType
][indState
][indStatus
];
759 // create and cache it
767 wxBitmap
wxMonoRenderer::GetFrameButtonBitmap(FrameButtonType type
)
769 if ( type
== FrameButton_Close
)
771 if ( !m_bmpFrameClose
.Ok() )
773 static const char *xpmFrameClose
[] = {
774 /* columns rows colors chars-per-pixel */
789 m_bmpFrameClose
= wxBitmap(xpmFrameClose
);
792 return m_bmpFrameClose
;
795 // we don't show any other buttons than close
799 // ----------------------------------------------------------------------------
801 // ----------------------------------------------------------------------------
805 void wxMonoRenderer::DrawToolBarButton(wxDC
& WXUNUSED(dc
),
806 const wxString
& WXUNUSED(label
),
807 const wxBitmap
& WXUNUSED(bitmap
),
808 const wxRect
& WXUNUSED(rect
),
810 long WXUNUSED(style
),
811 int WXUNUSED(tbarStyle
))
813 wxFAIL_MSG(_T("TODO"));
816 wxSize
wxMonoRenderer::GetToolBarButtonSize(wxCoord
*WXUNUSED(separator
)) const
818 wxFAIL_MSG(_T("TODO"));
823 wxSize
wxMonoRenderer::GetToolBarMargin() const
825 wxFAIL_MSG(_T("TODO"));
830 #endif // wxUSE_TOOLBAR
832 // ----------------------------------------------------------------------------
834 // ----------------------------------------------------------------------------
838 void wxMonoRenderer::DrawTab(wxDC
& WXUNUSED(dc
),
839 const wxRect
& WXUNUSED(rect
),
840 wxDirection
WXUNUSED(dir
),
841 const wxString
& WXUNUSED(label
),
842 const wxBitmap
& WXUNUSED(bitmap
),
844 int WXUNUSED(indexAccel
))
846 wxFAIL_MSG(_T("TODO"));
849 wxSize
wxMonoRenderer::GetTabIndent() const
851 wxFAIL_MSG(_T("TODO"));
856 wxSize
wxMonoRenderer::GetTabPadding() const
858 wxFAIL_MSG(_T("TODO"));
863 #endif // wxUSE_NOTEBOOK
865 // ----------------------------------------------------------------------------
867 // ----------------------------------------------------------------------------
871 void wxMonoRenderer::GetComboBitmaps(wxBitmap
*WXUNUSED(bmpNormal
),
872 wxBitmap
*WXUNUSED(bmpFocus
),
873 wxBitmap
*WXUNUSED(bmpPressed
),
874 wxBitmap
*WXUNUSED(bmpDisabled
))
876 wxFAIL_MSG(_T("TODO"));
879 #endif // wxUSE_COMBOBOX
881 // ----------------------------------------------------------------------------
883 // ----------------------------------------------------------------------------
887 void wxMonoRenderer::DrawMenuBarItem(wxDC
& WXUNUSED(dc
),
888 const wxRect
& WXUNUSED(rect
),
889 const wxString
& WXUNUSED(label
),
891 int WXUNUSED(indexAccel
))
893 wxFAIL_MSG(_T("TODO"));
896 void wxMonoRenderer::DrawMenuItem(wxDC
& WXUNUSED(dc
),
898 const wxMenuGeometryInfo
& WXUNUSED(geometryInfo
),
899 const wxString
& WXUNUSED(label
),
900 const wxString
& WXUNUSED(accel
),
901 const wxBitmap
& WXUNUSED(bitmap
),
903 int WXUNUSED(indexAccel
))
905 wxFAIL_MSG(_T("TODO"));
908 void wxMonoRenderer::DrawMenuSeparator(wxDC
& WXUNUSED(dc
),
910 const wxMenuGeometryInfo
& WXUNUSED(geomInfo
))
912 wxFAIL_MSG(_T("TODO"));
915 wxSize
wxMonoRenderer::GetMenuBarItemSize(const wxSize
& WXUNUSED(sizeText
)) const
917 wxFAIL_MSG(_T("TODO"));
922 wxMenuGeometryInfo
*wxMonoRenderer::GetMenuGeometry(wxWindow
*WXUNUSED(win
),
923 const wxMenu
& WXUNUSED(menu
)) const
925 wxFAIL_MSG(_T("TODO"));
930 #endif // wxUSE_MENUS
932 // ----------------------------------------------------------------------------
934 // ----------------------------------------------------------------------------
938 void wxMonoRenderer::DrawSliderShaft(wxDC
& WXUNUSED(dc
),
939 const wxRect
& WXUNUSED(rect
),
940 int WXUNUSED(lenThumb
),
941 wxOrientation
WXUNUSED(orient
),
943 long WXUNUSED(style
),
944 wxRect
*WXUNUSED(rectShaft
))
946 wxFAIL_MSG(_T("TODO"));
950 void wxMonoRenderer::DrawSliderThumb(wxDC
& WXUNUSED(dc
),
951 const wxRect
& WXUNUSED(rect
),
952 wxOrientation
WXUNUSED(orient
),
954 long WXUNUSED(style
))
956 wxFAIL_MSG(_T("TODO"));
959 void wxMonoRenderer::DrawSliderTicks(wxDC
& WXUNUSED(dc
),
960 const wxRect
& WXUNUSED(rect
),
961 int WXUNUSED(lenThumb
),
962 wxOrientation
WXUNUSED(orient
),
967 long WXUNUSED(style
))
969 wxFAIL_MSG(_T("TODO"));
972 wxCoord
wxMonoRenderer::GetSliderDim() const
974 wxFAIL_MSG(_T("TODO"));
979 wxCoord
wxMonoRenderer::GetSliderTickLen() const
981 wxFAIL_MSG(_T("TODO"));
987 wxRect
wxMonoRenderer::GetSliderShaftRect(const wxRect
& WXUNUSED(rect
),
988 int WXUNUSED(lenThumb
),
989 wxOrientation
WXUNUSED(orient
),
990 long WXUNUSED(style
)) const
992 wxFAIL_MSG(_T("TODO"));
997 wxSize
wxMonoRenderer::GetSliderThumbSize(const wxRect
& WXUNUSED(rect
),
998 int WXUNUSED(lenThumb
),
999 wxOrientation
WXUNUSED(orient
)) const
1001 wxFAIL_MSG(_T("TODO"));
1006 #endif // wxUSE_SLIDER
1008 wxSize
wxMonoRenderer::GetProgressBarStep() const
1010 wxFAIL_MSG(_T("TODO"));
1016 // ----------------------------------------------------------------------------
1018 // ----------------------------------------------------------------------------
1020 void wxMonoRenderer::DrawArrow(wxDC
& dc
,
1023 int WXUNUSED(flags
))
1025 ArrowDirection arrowDir
= GetArrowDirection(dir
);
1026 wxCHECK_RET( arrowDir
!= Arrow_Max
, _T("invalid arrow direction") );
1028 wxBitmap
& bmp
= m_bmpArrows
[arrowDir
];
1031 bmp
= wxBitmap(ms_xpmArrows
[arrowDir
]);
1034 wxRect
rectArrow(0, 0, bmp
.GetWidth(), bmp
.GetHeight());
1035 dc
.DrawBitmap(bmp
, rectArrow
.CentreIn(rect
).GetPosition(), true /* use mask */);
1038 void wxMonoRenderer::DrawScrollbarThumb(wxDC
& dc
,
1039 wxOrientation
WXUNUSED(orient
),
1041 int WXUNUSED(flags
))
1043 DrawSolidRect(dc
, wxMONO_BG_COL
, rect
);
1045 // manually draw stipple pattern (wxDFB doesn't implement the wxSTIPPLE
1048 for ( wxCoord y
= rect
.GetTop(); y
<= rect
.GetBottom(); y
++ )
1050 for ( wxCoord x
= rect
.GetLeft() + (y
% 2); x
<= rect
.GetRight(); x
+=2 )
1057 void wxMonoRenderer::DrawScrollbarShaft(wxDC
& dc
,
1058 wxOrientation
WXUNUSED(orient
),
1060 int WXUNUSED(flags
))
1062 DrawSolidRect(dc
, wxMONO_BG_COL
, rect
);
1065 // ----------------------------------------------------------------------------
1067 // ----------------------------------------------------------------------------
1071 wxCoord
wxMonoRenderer::GetStatusBarBorderBetweenFields() const
1076 wxSize
wxMonoRenderer::GetStatusBarFieldMargins() const
1078 return wxSize(1, 1);
1081 #endif // wxUSE_STATUSBAR
1083 // ----------------------------------------------------------------------------
1084 // top level windows
1085 // ----------------------------------------------------------------------------
1087 int wxMonoRenderer::GetFrameBorderWidth(int WXUNUSED(flags
)) const
1089 // all our borders are simple
1093 // ----------------------------------------------------------------------------
1094 // wxMonoArtProvider
1095 // ----------------------------------------------------------------------------
1097 wxBitmap
wxMonoArtProvider::CreateBitmap(const wxArtID
& WXUNUSED(id
),
1098 const wxArtClient
& WXUNUSED(client
),
1099 const wxSize
& WXUNUSED(size
))
1101 return wxNullBitmap
;
1104 #endif // wxUSE_THEME_MONO