diff options
-rw-r--r-- | vcl/Package_theme_definitions.mk | 2 | ||||
-rw-r--r-- | vcl/source/gdi/FileDefinitionWidgetDraw.cxx | 31 | ||||
-rw-r--r-- | vcl/uiconfig/theme_definitions/definition.xml | 14 | ||||
-rw-r--r-- | vcl/uiconfig/theme_definitions/scrollbar-horizontal.svgx | 4 | ||||
-rw-r--r-- | vcl/uiconfig/theme_definitions/scrollbar-vertical.svgx | 4 |
5 files changed, 44 insertions, 11 deletions
diff --git a/vcl/Package_theme_definitions.mk b/vcl/Package_theme_definitions.mk index 4dc31caf9b5a..b51f60555165 100644 --- a/vcl/Package_theme_definitions.mk +++ b/vcl/Package_theme_definitions.mk @@ -40,6 +40,8 @@ $(eval $(call gb_Package_add_files,vcl_theme_definitions,$(LIBO_SHARE_FOLDER)/th tabitem-first-selected.svgx \ tabitem-middle-selected.svgx \ tabitem-last-selected.svgx \ + scrollbar-horizontal.svgx \ + scrollbar-vertical.svgx \ )) # vim: set noet sw=4 ts=4: diff --git a/vcl/source/gdi/FileDefinitionWidgetDraw.cxx b/vcl/source/gdi/FileDefinitionWidgetDraw.cxx index 33d139e1fc21..0067fed75954 100644 --- a/vcl/source/gdi/FileDefinitionWidgetDraw.cxx +++ b/vcl/source/gdi/FileDefinitionWidgetDraw.cxx @@ -203,9 +203,16 @@ void drawFromDrawCommands(gfx::DrawRoot const& rDrawRoot, SalGraphics& rGraphics aPolyPolygon.transform(basegfx::utils::createTranslateB2DHomMatrix( -aPolyPolygonRange.getMinX(), -aPolyPolygonRange.getMinY())); - aPolyPolygon.transform(basegfx::utils::createScaleB2DHomMatrix( - aFinalRectangle.getWidth() / aPolyPolygonRange.getWidth(), - aFinalRectangle.getHeight() / aPolyPolygonRange.getHeight())); + + double fScaleX = 1.0; + double fScaleY = 1.0; + if (aPolyPolygonRange.getWidth() > 0.0) + fScaleX = aFinalRectangle.getWidth() / aPolyPolygonRange.getWidth(); + if (aPolyPolygonRange.getHeight() > 0.0) + fScaleY = aFinalRectangle.getHeight() / aPolyPolygonRange.getHeight(); + + aPolyPolygon.transform(basegfx::utils::createScaleB2DHomMatrix(fScaleX, fScaleY)); + aPolyPolygon.transform(basegfx::utils::createTranslateB2DHomMatrix( aFinalRectangle.getMinX() - 0.5, aFinalRectangle.getMinY() - 0.5)); @@ -698,6 +705,24 @@ bool FileDefinitionWidgetDraw::getNativeControlRegion( rNativeContentRegion = rBoundingControlRegion; return true; } + break; + case ControlType::Scrollbar: + { + if (ePart == ControlPart::ButtonUp || ePart == ControlPart::ButtonDown + || ePart == ControlPart::ButtonLeft || ePart == ControlPart::ButtonRight) + { + rNativeContentRegion = tools::Rectangle(aLocation, Size(0, 0)); + rNativeBoundingRegion = rNativeContentRegion; + return true; + } + else + { + rNativeBoundingRegion = rBoundingControlRegion; + rNativeContentRegion = rNativeBoundingRegion; + return true; + } + } + break; default: break; diff --git a/vcl/uiconfig/theme_definitions/definition.xml b/vcl/uiconfig/theme_definitions/definition.xml index 90ffbc32ca06..99df7524b8d2 100644 --- a/vcl/uiconfig/theme_definitions/definition.xml +++ b/vcl/uiconfig/theme_definitions/definition.xml @@ -227,14 +227,12 @@ <scrollbar> <part value="ThumbHorz"> <state> - <rect stroke="#C7C7C7" fill="#C7C7C7" stroke-width="1" /> - <line stroke="#007AFF" stroke-width="5" x1="0.01" y1="0.5" x2="0.99" y2="0.5"/> + <external source="scrollbar-horizontal.svgx" /> </state> </part> <part value="ThumbVert"> <state> - <rect stroke="#C7C7C7" fill="#C7C7C7" stroke-width="1" /> - <line stroke="#007AFF" stroke-width="5" x1="0.5" y1="0.01" x2="0.5" y2="0.99"/> + <external source="scrollbar-vertical.svgx" /> </state> </part> <part value="ButtonUp"> @@ -247,22 +245,22 @@ </part> <part value="TrackHorzLeft"> <state> - <rect stroke="#C7C7C7" fill="#C7C7C7" stroke-width="1" /> + <rect stroke="#8e8e93" fill="#ffffff" stroke-width="0" /> </state> </part> <part value="TrackHorzRight"> <state> - <rect stroke="#C7C7C7" fill="#C7C7C7" stroke-width="1" /> + <rect stroke="#8e8e93" fill="#ffffff" stroke-width="0" /> </state> </part> <part value="TrackVertUpper"> <state> - <rect stroke="#C7C7C7" fill="#C7C7C7" stroke-width="1" /> + <rect stroke="#8e8e93" fill="#ffffff" stroke-width="0" /> </state> </part> <part value="TrackVertLower"> <state> - <rect stroke="#C7C7C7" fill="#C7C7C7" stroke-width="1" /> + <rect stroke="#8e8e93" fill="#ffffff" stroke-width="0" /> </state> </part> </scrollbar> diff --git a/vcl/uiconfig/theme_definitions/scrollbar-horizontal.svgx b/vcl/uiconfig/theme_definitions/scrollbar-horizontal.svgx new file mode 100644 index 000000000000..4bdcd409dc20 --- /dev/null +++ b/vcl/uiconfig/theme_definitions/scrollbar-horizontal.svgx @@ -0,0 +1,4 @@ +<svg version="1.1" viewBox="0 0 50 16" xmlns="http://www.w3.org/2000/svg"> + <rect width="50" height="16" fill="#fff"/> + <path d="m43.943 8h-37.886" fill="none" stroke="#8e8e93" stroke-linecap="round" stroke-width="8"/> +</svg> diff --git a/vcl/uiconfig/theme_definitions/scrollbar-vertical.svgx b/vcl/uiconfig/theme_definitions/scrollbar-vertical.svgx new file mode 100644 index 000000000000..b4a885d9138d --- /dev/null +++ b/vcl/uiconfig/theme_definitions/scrollbar-vertical.svgx @@ -0,0 +1,4 @@ +<svg version="1.1" viewBox="0 0 16 50" xmlns="http://www.w3.org/2000/svg"> + <rect y="1e-7" width="16" height="50" fill="#fff"/> + <path d="m8 43.943v-37.886" fill="none" stroke="#8e8e93" stroke-linecap="round" stroke-width="8"/> +</svg> |