From 37dec07460dba9f2fd28c211dd926b5592bc6331 Mon Sep 17 00:00:00 2001 From: Tomaž Vajngerl Date: Wed, 22 Aug 2018 13:55:35 +0200 Subject: custom widgets: first round of basic widgets with cairo - Radiobutton - Checkbox - Combobox - Editbox - Spinbox - Scrollbar Change-Id: I46bd2753a7c1806f4cd4583455e76c77494225b4 --- vcl/inc/WidgetThemeLibrary.hxx | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) (limited to 'vcl/inc') diff --git a/vcl/inc/WidgetThemeLibrary.hxx b/vcl/inc/WidgetThemeLibrary.hxx index 18afbc9c50fa..fef1650b454f 100644 --- a/vcl/inc/WidgetThemeLibrary.hxx +++ b/vcl/inc/WidgetThemeLibrary.hxx @@ -13,17 +13,49 @@ #include #include +#include namespace vcl { +struct ControlDrawParameters +{ + ControlDrawParameters(cairo_t* i_pCairo, ControlPart i_ePart, ControlState i_eState, + ButtonValue i_eButtonValue) + : pCairo(i_pCairo) + , ePart(i_ePart) + , eState(i_eState) + , eButtonValue(i_eButtonValue) + { + } + + cairo_t* pCairo; + ControlPart ePart; + ControlState eState; + ButtonValue eButtonValue; +}; + class SAL_DLLPUBLIC_RTTI WidgetThemeLibrary { public: WidgetThemeLibrary(); virtual ~WidgetThemeLibrary(); - virtual bool drawPushButtonFocus(cairo_t* pCairo, long nX, long nY, long nWidth, long nHeight); - virtual bool drawPushButton(cairo_t* pCairo, long nX, long nY, long nWidth, long nHeight); + virtual bool isNativeControlSupported(ControlType eType, ControlPart ePart); + + virtual bool drawPushButton(ControlDrawParameters const& rParameters, long nWidth, + long nHeight); + virtual bool drawRadiobutton(ControlDrawParameters const& rParameters, long nWidth, + long nHeight); + virtual bool drawCheckbox(ControlDrawParameters const& rParameters, long nWidth, long nHeight); + virtual bool drawCombobox(ControlDrawParameters const& rParameters, long nWidth, long nHeight); + virtual bool drawEditbox(ControlDrawParameters const& rParameters, long nWidth, long nHeight); + virtual bool drawScrollbar(ControlDrawParameters const& rParameters, long nWidth, long nHeight); + virtual bool drawSpinButtons(ControlDrawParameters const& rParameters, long nWidth, + long nHeight); + virtual bool drawSpinbox(ControlDrawParameters const& rParameters, long nWidth, long nHeight); + virtual bool drawWindowsBackground(ControlDrawParameters const& rParameters, long nWidth, + long nHeight); + virtual bool drawFrame(ControlDrawParameters const& rParameters, long nWidth, long nHeight); }; extern "C" vcl::WidgetThemeLibrary* CreateWidgetThemeLibrary(); -- cgit