diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> | 2018-09-20 00:06:52 +0200 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2018-11-09 18:42:31 +0100 |
commit | b838e7e800d7c05bbe168a0eb8efa625d8b539cf (patch) | |
tree | f8fbce402bf47023abf95af43e1da367260a01d4 /vcl/inc/WidgetThemeLibrary.hxx | |
parent | 7d879658886cd73b38b12e5e6081bac7eda145d1 (diff) |
custom widgets: setup style setting in the widget library
Some theme colors are set using the style settings, which are
implemented by each backend to correspond to the system theme.
For custom widgets these need to also be set by the library
itself. This commit adds the ground work and sets some of the
colors for windows backgrounds.
Change-Id: Ia65b1605b2b7bef7f01ff1feff2e7470479e626a
Diffstat (limited to 'vcl/inc/WidgetThemeLibrary.hxx')
-rw-r--r-- | vcl/inc/WidgetThemeLibrary.hxx | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/vcl/inc/WidgetThemeLibrary.hxx b/vcl/inc/WidgetThemeLibrary.hxx index 7d38112130c8..59692de60012 100644 --- a/vcl/inc/WidgetThemeLibrary.hxx +++ b/vcl/inc/WidgetThemeLibrary.hxx @@ -14,9 +14,27 @@ #include <cairo.h> #include <vcl/dllapi.h> #include <vcl/salnativewidgets.hxx> +#include <tools/color.hxx> namespace vcl { +struct WidgetDrawStyle +{ + Color maFaceColor; + Color maLightColor; + Color maLightBorderColor; + Color maShadowColor; + Color maDarkShadowColor; + Color maHighlightColor; + Color maHighlightTextColor; + Color maActiveTabColor; + Color maInactiveTabColor; + Color maWindowColor; + Color maWindowTextColor; + Color maDialogColor; + Color maDialogTextColor; +}; + struct ControlDrawParameters { ControlDrawParameters(cairo_t* i_pCairo, ControlPart i_ePart, ControlState i_eState) @@ -76,6 +94,8 @@ public: virtual bool drawListNet(ControlDrawParameters const& rParameters, long nWidth, long nHeight); virtual bool drawListHeader(ControlDrawParameters const& rParameters, long nWidth, long nHeight); + + virtual bool updateSettings(WidgetDrawStyle& rSettings); }; extern "C" vcl::WidgetThemeLibrary* CreateWidgetThemeLibrary(); |