diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> | 2018-08-22 13:55:35 +0200 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2018-11-09 18:42:24 +0100 |
commit | 37dec07460dba9f2fd28c211dd926b5592bc6331 (patch) | |
tree | 3f8ced7f1239e3a2113873b9439625e809e573ea /vcl/inc | |
parent | 527397abd6f59654f5a26643d62ec098170369c1 (diff) |
custom widgets: first round of basic widgets with cairo
- Radiobutton
- Checkbox
- Combobox
- Editbox
- Spinbox
- Scrollbar
Change-Id: I46bd2753a7c1806f4cd4583455e76c77494225b4
Diffstat (limited to 'vcl/inc')
-rw-r--r-- | vcl/inc/WidgetThemeLibrary.hxx | 36 |
1 files changed, 34 insertions, 2 deletions
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 <cairo.h> #include <vcl/dllapi.h> +#include <vcl/salnativewidgets.hxx> 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(); |