[Libreoffice-commits] core.git: helpcontent2 librelogo/source

László Németh nemeth at numbertext.org
Thu Oct 24 08:27:21 PDT 2013


 helpcontent2                            |    2 -
 librelogo/source/ChangeLog              |   13 ++++++++
 librelogo/source/LibreLogo/LibreLogo.py |   48 ++++++++++++++++++++++++--------
 3 files changed, 50 insertions(+), 13 deletions(-)

New commits:
commit 3617e1a37f7f77eb4d57ca455fca9507f1a15872
Author: László Németh <nemeth at numbertext.org>
Date:   Thu Oct 24 17:22:15 2013 +0200

    librelogo: more invisible settings (on UI, hatching), see ChangeLog
    
    Change-Id: Icb0d195ba82b023d370847242b4e3b5546fa0320

diff --git a/helpcontent2 b/helpcontent2
index 91f8b3c..0d8b37c 160000
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 91f8b3cb54e752a174ee10be4e528c7dcd4fb55e
+Subproject commit 0d8b37cd9e0b89d1136b09a81671c88fc91fee3e
diff --git a/librelogo/source/ChangeLog b/librelogo/source/ChangeLog
index 6453e71..0e1ed44 100644
--- a/librelogo/source/ChangeLog
+++ b/librelogo/source/ChangeLog
@@ -1,3 +1,16 @@
+2013-10-24 László Németh:
+    * synchronize Writer/Draw when saving cropped SVG to avoid program halt,
+      huge sleeps (the workaround) have been removed
+    * support hatching with 'INVISIBLE' filling color
+    * support PENUP in UI (Line Style "-none-")
+    * support INVISIBLE filling color in UI (Area Style/Filling "None")
+    * using 'INVISIBLE' line and filling colors set -none-/None in
+      Drawing Object Properties toolbar
+    * fix blinking LABEL (now the temporary text shape is invisible)
+    * support PENCAP settings (values: NONE, ROUND, SQUARE)
+    * fix black (not refreshed) invisible filling color (LO 4.1 problem)
+      reported by Levente Kovács in http://bug.openscope.org/browse/OOO-838
+
 2013-08-29 László Németh:
     * fix bad selection of invisible turtle after HIDETURTLE CLEARSCREEN
     * fix SVG cropping in LibreOffice 4.1
diff --git a/librelogo/source/LibreLogo/LibreLogo.py b/librelogo/source/LibreLogo/LibreLogo.py
index ac0fb2a..9ad5622 100644
--- a/librelogo/source/LibreLogo/LibreLogo.py
+++ b/librelogo/source/LibreLogo/LibreLogo.py
@@ -112,6 +112,8 @@ from com.sun.star.drawing.LineJoint import NONE as __Joint_NONE__
 from com.sun.star.drawing.LineJoint import BEVEL as __BEVEL__
 from com.sun.star.drawing.LineJoint import MITER as __MITER__
 from com.sun.star.drawing.LineJoint import ROUND as __ROUNDED__
+from com.sun.star.drawing.FillStyle import NONE as __FillStyle_NONE__
+from com.sun.star.drawing.LineStyle import NONE as __LineStyle_NONE__
 from com.sun.star.drawing.LineStyle import SOLID as __LineStyle_SOLID__
 from com.sun.star.drawing.LineStyle import DASH as __LineStyle_DASHED__
 from com.sun.star.drawing.DashStyle import RECT as __DashStyle_RECT__
@@ -463,10 +465,18 @@ def __initialize__():
         shape.FillColor, transparence = __splitcolor__(_.areacolor)
         shape.LineColor, shape.LineTransparence = __splitcolor__(_.pencolor)
     elif shape.Visible:
-        _.areacolor = shape.FillColor + (int(255.0 * shape.FillTransparence/100) << 24)
-        _.pencolor = shape.LineColor + (int(255.0 * shape.LineTransparence/100) << 24)
+        if shape.FillStyle == __FillStyle_NONE__:
+            _.areacolor = 0xffffffff
+        else:
+            _.areacolor = shape.FillColor + (int(255.0 * shape.FillTransparence/100) << 24)
         if shape.LineWidth != round((1 + _.pen * 2) * __PT_TO_TWIP__ / __MM10_TO_TWIP__) and shape.LineWidth != round(__LINEWIDTH__ / __MM10_TO_TWIP__):
             _.pensize = shape.LineWidth * __MM10_TO_TWIP__
+        if shape.LineStyle == __LineStyle_NONE__: # - none -
+            __pen__(0)
+        else:
+            if shape.LineStyle == __LineStyle_SOLID__:
+                __pen__(1)
+            _.pencolor = shape.LineColor + (int(255.0 * shape.LineTransparence/100) << 24)
     shape.LineJoint = __ROUNDED__
     shape.Shadow = True
     shape.FillColor, transparence = __splitcolor__(_.areacolor)
@@ -886,6 +896,8 @@ def __go__(shapename, n, dot = False, preciseAngle = -1):
         shape.PolyPolygon = tuple([tuple( list(shape.PolyPolygon[-1]) + [last2])])
         shape.LineWidth = _.pensize / __MM10_TO_TWIP__
     shape.LineColor, shape.LineTransparence = __splitcolor__(_.pencolor)
+    if shape.LineTransparence == 100:
+        shape.LineStyle = 0
     __visible__(shape, True)
     shape.Name = __ACTUAL__
     _.shapecache[__ACTUAL__] = shape
@@ -909,15 +921,21 @@ def __fillit__(filled = True):
         shape.LineStyle, shape.LineDash = __linestyle__(_.linestyle)
         shape.LineJoint = _.linejoint
         shape.LineCap = _.linecap
+        shape.LineWidth = _.pensize / __MM10_TO_TWIP__
+        shape.LineColor, shape.LineTransparence = __splitcolor__(_.pencolor)
+        shape.FillColor, shape.FillTransparence = __splitcolor__(_.areacolor)
         if _.hatch:
-            shape.FillBackground = True
+            shape.FillBackground = True if shape.FillTransparence != 100 else False
             shape.FillHatch = _.hatch
             shape.FillStyle = 3
         else:
             shape.FillStyle = int(filled)
-        shape.LineWidth = _.pensize / __MM10_TO_TWIP__
-        shape.LineColor, shape.LineTransparence = __splitcolor__(_.pencolor)
-        shape.FillColor, shape.FillTransparence = __splitcolor__(_.areacolor)
+        if shape.LineTransparence == 100:
+            shape.LineStyle = 0
+        if shape.FillTransparence == 100:
+            shape.FillTransparence = 0 # for hatching and better modifications on UI 
+            if not _.hatch:
+                shape.FillStyle = 0
         shape.setString(oldshape.getString())
         oldshape.Name = ""
         shape.Name = __ACTUAL__
@@ -949,12 +967,6 @@ def point():
 def __boxshape__(shapetype, l):
     turtle = __getshape__(__TURTLE__)
     shape = __draw__(shapetype + "Shape")
-    if _.hatch:
-        shape.FillBackground = True
-        shape.FillHatch = _.hatch
-        shape.FillStyle = 3
-    else:
-        shape.FillStyle = 1
     pos = turtle.getPosition()
     pos.X = pos.X - (l[0] * __PT_TO_TWIP__ / __MM10_TO_TWIP__ / 2) + turtle.BoundRect.Width / 2.0
     pos.Y = pos.Y - (l[1] * __PT_TO_TWIP__ / __MM10_TO_TWIP__ / 2) + turtle.BoundRect.Height / 2.0
@@ -966,6 +978,18 @@ def __boxshape__(shapetype, l):
     shape.LineCap = _.linecap
     shape.LineColor, shape.LineTransparence = __splitcolor__(_.pencolor)
     shape.FillColor, shape.FillTransparence = __splitcolor__(_.areacolor)
+    if _.hatch:
+        shape.FillBackground = True if shape.FillTransparence != 100 else False
+        shape.FillHatch = _.hatch
+        shape.FillStyle = 3
+    else:
+        shape.FillStyle = 1
+    if shape.LineTransparence == 100:
+        shape.LineStyle = 0
+    if shape.FillTransparence == 100:
+        shape.FillTransparence = 0 # for hatching and better modifications on UI 
+        if not _.hatch:
+            shape.FillStyle = 0
     shape.RotateAngle = turtle.RotateAngle
     if shapetype == "Rectangle" and len(l) > 2:
         shape.CornerRadius = (l[2] * __PT_TO_TWIP__) / __MM10_TO_TWIP__


More information about the Libreoffice-commits mailing list