summaryrefslogtreecommitdiff
path: root/vcl/headless
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-09 18:42:25 +0100
commit11e5d5177fbaf86590a690a6189eafab0f25083c (patch)
tree4252284bcf5c97bbb5c2e1d3fd21c0ffc5224f90 /vcl/headless
parent351cc2e32914d989bd0a3eda8a7d26b2cce14458 (diff)
custom widgets: add Slider widget
Change-Id: Ie2192edfcfc49a1953059c5947b8ea7bb03a3c7d
Diffstat (limited to 'vcl/headless')
-rw-r--r--vcl/headless/CustomWidgetDraw.cxx24
1 files changed, 23 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: