diff options
Diffstat (limited to 'vcl/inc')
-rw-r--r-- | vcl/inc/WidgetDrawInterface.hxx | 4 | ||||
-rw-r--r-- | vcl/inc/WidgetThemeLibrary.hxx | 20 | ||||
-rw-r--r-- | vcl/inc/headless/CustomWidgetDraw.hxx | 3 | ||||
-rw-r--r-- | vcl/inc/headless/svpgdi.hxx | 2 | ||||
-rw-r--r-- | vcl/inc/unx/gtk/gtkgdi.hxx | 4 |
5 files changed, 32 insertions, 1 deletions
diff --git a/vcl/inc/WidgetDrawInterface.hxx b/vcl/inc/WidgetDrawInterface.hxx index ce6c5d43babe..4d1ecce7a3fe 100644 --- a/vcl/inc/WidgetDrawInterface.hxx +++ b/vcl/inc/WidgetDrawInterface.hxx @@ -12,6 +12,8 @@ #define INCLUDED_VCL_INC_WIDGETDRAWINTERFACE_HXX #include <vcl/dllapi.h> +#include <vcl/salnativewidgets.hxx> +#include <vcl/settings.hxx> namespace vcl { @@ -91,6 +93,8 @@ public: tools::Rectangle& rNativeBoundingRegion, tools::Rectangle& rNativeContentRegion) = 0; + + virtual bool updateSettings(AllSettings& rSettings) = 0; }; } 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(); diff --git a/vcl/inc/headless/CustomWidgetDraw.hxx b/vcl/inc/headless/CustomWidgetDraw.hxx index ce749ac15b63..89082803abc3 100644 --- a/vcl/inc/headless/CustomWidgetDraw.hxx +++ b/vcl/inc/headless/CustomWidgetDraw.hxx @@ -16,6 +16,7 @@ #include <WidgetDrawInterface.hxx> #include <WidgetThemeLibrary.hxx> #include <headless/svpgdi.hxx> +#include <vcl/settings.hxx> #include <memory> namespace vcl @@ -45,6 +46,8 @@ public: const ImplControlValue& aValue, const OUString& aCaption, tools::Rectangle& rNativeBoundingRegion, tools::Rectangle& rNativeContentRegion) override; + + bool updateSettings(AllSettings& rSettings) override; }; } // end vcl namespace diff --git a/vcl/inc/headless/svpgdi.hxx b/vcl/inc/headless/svpgdi.hxx index b8d20a548a6f..21b1b0537c8e 100644 --- a/vcl/inc/headless/svpgdi.hxx +++ b/vcl/inc/headless/svpgdi.hxx @@ -280,6 +280,8 @@ public: tools::Rectangle& rNativeBoundingRegion, tools::Rectangle& rNativeContentRegion) override; + virtual void updateSettings(AllSettings& rSettings); + #if ENABLE_CAIRO_CANVAS virtual bool SupportsCairo() const override; virtual cairo::SurfaceSharedPtr CreateSurface(const cairo::CairoSurfaceSharedPtr& rSurface) const override; diff --git a/vcl/inc/unx/gtk/gtkgdi.hxx b/vcl/inc/unx/gtk/gtkgdi.hxx index e5eaef3747c1..839ee9eaac45 100644 --- a/vcl/inc/unx/gtk/gtkgdi.hxx +++ b/vcl/inc/unx/gtk/gtkgdi.hxx @@ -120,6 +120,9 @@ public: const OUString& rCaption, tools::Rectangle &rNativeBoundingRegion, tools::Rectangle &rNativeContentRegion ) override; + + virtual void updateSettings(AllSettings& rSettings) override; + #if ENABLE_CAIRO_CANVAS virtual bool SupportsCairo() const override; @@ -130,7 +133,6 @@ public: void WidgetQueueDraw() const; - void updateSettings( AllSettings& rSettings ); static void refreshFontconfig( GtkSettings *pSettings ); static void signalSettingsNotify( GObject*, GParamSpec *pSpec, gpointer ); |