vcl/Package_theme_definitions.mk                         |    2 
 vcl/source/gdi/FileDefinitionWidgetDraw.cxx              |   31 +++++++++++++--
 vcl/uiconfig/theme_definitions/definition.xml            |   14 ++----
 vcl/uiconfig/theme_definitions/scrollbar-horizontal.svgx |    4 +
 vcl/uiconfig/theme_definitions/scrollbar-vertical.svgx   |    4 +
 5 files changed, 44 insertions(+), 11 deletions(-)

New commits:
commit 79b9d3875fd454722d723f6c68be390f7eca60df
Author:     Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk>
AuthorDate: Thu Mar 7 14:00:16 2019 +0100
Commit:     Tomaž Vajngerl <qui...@gmail.com>
CommitDate: Thu Mar 7 21:21:23 2019 +0100

    widget theme - update scrollbars, draw from svg
    
    Change-Id: I7e7cd05ce516ab24d380bb8b6a264fd45e1d553c
    Reviewed-on: https://gerrit.libreoffice.org/68864
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <qui...@gmail.com>

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>
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to