diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> | 2018-08-27 00:14:34 +0200 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2018-11-09 18:42:25 +0100 |
commit | 11e5d5177fbaf86590a690a6189eafab0f25083c (patch) | |
tree | 4252284bcf5c97bbb5c2e1d3fd21c0ffc5224f90 /vcl/headless | |
parent | 351cc2e32914d989bd0a3eda8a7d26b2cce14458 (diff) |
custom widgets: add Slider widget
Change-Id: Ie2192edfcfc49a1953059c5947b8ea7bb03a3c7d
Diffstat (limited to 'vcl/headless')
-rw-r--r-- | vcl/headless/CustomWidgetDraw.cxx | 24 |
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: |