summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2019-03-07 14:00:16 +0100
committerTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2019-08-29 20:10:52 +0900
commitb69d206b57b5284717fd752fbb5eda57beed1879 (patch)
tree95f81b6b2181688c524189207057255fd7fafd0c
parent6aa70317c56664da83e7f3402f5f83cbbbce629f (diff)
widget theme - update scrollbars, draw from svg
Change-Id: I7e7cd05ce516ab24d380bb8b6a264fd45e1d553c Reviewed-on: https://gerrit.libreoffice.org/68864 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 79b9d3875fd454722d723f6c68be390f7eca60df)
-rw-r--r--vcl/Package_theme_definitions.mk2
-rw-r--r--vcl/source/gdi/FileDefinitionWidgetDraw.cxx31
-rw-r--r--vcl/uiconfig/theme_definitions/definition.xml14
-rw-r--r--vcl/uiconfig/theme_definitions/scrollbar-horizontal.svgx4
-rw-r--r--vcl/uiconfig/theme_definitions/scrollbar-vertical.svgx4
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>