summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2018-08-27 00:14:34 +0200
committerJan Holesovsky <kendy@collabora.com>2018-11-08 09:14:31 +0100
commit58a1002d725a26191a1eb0bddf577c261b944506 (patch)
tree8df10bd546afdcee2be8d075f61119211634763a /vcl
parenta6386e555c0be5f1e4710e6f0b12057fbbe9f6eb (diff)
custom widgets: add Slider widget
Change-Id: Ie2192edfcfc49a1953059c5947b8ea7bb03a3c7d
Diffstat (limited to 'vcl')
-rw-r--r--vcl/headless/CustomWidgetDraw.cxx24
-rw-r--r--vcl/inc/WidgetThemeLibrary.hxx1
2 files changed, 24 insertions, 1 deletions
diff --git a/vcl/headless/CustomWidgetDraw.cxx b/vcl/headless/CustomWidgetDraw.cxx
index 4838d174f30c..e403d429bbb0 100644
--- a/vcl/headless/CustomWidgetDraw.cxx
+++ b/vcl/headless/CustomWidgetDraw.cxx
@@ -197,7 +197,29 @@ bool CustomWidgetDraw::drawNativeControl(ControlType eType, ControlPart ePart,
}
break;
case ControlType::Slider:
- break;
+ {
+ cairo_save(pCairoContext);
+ bOK = s_pWidgetImplementation->drawSlider(aParameters, nWidth, nHeight);
+ cairo_restore(pCairoContext);
+
+ if (bOK)
+ {
+ const SliderValue* pSliderValue = static_cast<const SliderValue*>(&rValue);
+
+ ControlDrawParameters aParametersButton{ pCairoContext, ControlPart::Button,
+ eState | pSliderValue->mnThumbState,
+ ButtonValue::DontKnow };
+ cairo_save(pCairoContext);
+ cairo_translate(pCairoContext,
+ pSliderValue->maThumbRect.Left() - rControlRegion.Left(),
+ pSliderValue->maThumbRect.Top() - rControlRegion.Top());
+ bOK = s_pWidgetImplementation->drawSlider(aParametersButton,
+ pSliderValue->maThumbRect.GetWidth(),
+ pSliderValue->maThumbRect.GetHeight());
+ cairo_restore(pCairoContext);
+ }
+ }
+ break;
case ControlType::Fixedline:
break;
case ControlType::Toolbar:
diff --git a/vcl/inc/WidgetThemeLibrary.hxx b/vcl/inc/WidgetThemeLibrary.hxx
index edbf4ef25d2c..b4e78c7e515d 100644
--- a/vcl/inc/WidgetThemeLibrary.hxx
+++ b/vcl/inc/WidgetThemeLibrary.hxx
@@ -57,6 +57,7 @@ public:
virtual bool drawTabPane(ControlDrawParameters const& rParameters, long nWidth, long nHeight);
virtual bool drawTabHeader(ControlDrawParameters const& rParameters, long nWidth, long nHeight);
virtual bool drawTabBody(ControlDrawParameters const& rParameters, long nWidth, long nHeight);
+ virtual bool drawSlider(ControlDrawParameters const& rParameters, long nWidth, long nHeight);
virtual bool drawWindowsBackground(ControlDrawParameters const& rParameters, long nWidth,
long nHeight);
virtual bool drawListbox(ControlDrawParameters const& rParameters, long nWidth, long nHeight);