From c82f3e065d153c9edb985a143f1a61b3482acd88 Mon Sep 17 00:00:00 2001 From: HOS Date: Thu, 4 Dec 2025 09:18:04 +0100 Subject: [PATCH 1/8] Clarify restrictions on fill patterns. Closes #1826 --- chapters/annotations.tex | 1 + 1 file changed, 1 insertion(+) diff --git a/chapters/annotations.tex b/chapters/annotations.tex index be6cb3f4a..bb1ef49c2 100644 --- a/chapters/annotations.tex +++ b/chapters/annotations.tex @@ -925,6 +925,7 @@ \subsubsection{Graphical Properties}\label{graphical-properties} The attributes \lstinline!HorizontalCylinder!, \lstinline!VerticalCylinder! and \lstinline!Sphere! specify gradients that represent a horizontal cylinder, a vertical cylinder and a sphere, respectively. The gradient goes from line color to fill color. +The \lstinline!HorizontalCylinder! and \lstinline!VerticalCylinder! are only defined for rectangles and ellipses (not polygons), and \lstinline!Sphere! is only defined for ellipses. The border pattern attributes \lstinline!Raised!, \lstinline!Sunken! and \lstinline!Engraved! represent frames which are rendered in a tool-dependent way --- inside the extent of the filled shape. From 54fc82956b5c286ff853d6d585799c1e61bf70a5 Mon Sep 17 00:00:00 2001 From: Hans Olsson Date: Mon, 15 Dec 2025 09:56:27 +0100 Subject: [PATCH 2/8] Update chapters/annotations.tex --- chapters/annotations.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapters/annotations.tex b/chapters/annotations.tex index bb1ef49c2..558ea253a 100644 --- a/chapters/annotations.tex +++ b/chapters/annotations.tex @@ -925,7 +925,7 @@ \subsubsection{Graphical Properties}\label{graphical-properties} The attributes \lstinline!HorizontalCylinder!, \lstinline!VerticalCylinder! and \lstinline!Sphere! specify gradients that represent a horizontal cylinder, a vertical cylinder and a sphere, respectively. The gradient goes from line color to fill color. -The \lstinline!HorizontalCylinder! and \lstinline!VerticalCylinder! are only defined for rectangles and ellipses (not polygons), and \lstinline!Sphere! is only defined for ellipses. +For polygons the gradients are defined on the enclosing rectangle (for \lstinline!HorizontalCylinder!, \lstinline!VerticalCylinder!) or circle (for \lstinline!Sphere!). The border pattern attributes \lstinline!Raised!, \lstinline!Sunken! and \lstinline!Engraved! represent frames which are rendered in a tool-dependent way --- inside the extent of the filled shape. From 9b031b2d859d4b24c658cc0320afd2c1f74d8845 Mon Sep 17 00:00:00 2001 From: HOS Date: Mon, 15 Dec 2025 10:05:55 +0100 Subject: [PATCH 3/8] Further clarified. --- chapters/annotations.tex | 2 ++ 1 file changed, 2 insertions(+) diff --git a/chapters/annotations.tex b/chapters/annotations.tex index 558ea253a..e5668c3fb 100644 --- a/chapters/annotations.tex +++ b/chapters/annotations.tex @@ -926,6 +926,8 @@ \subsubsection{Graphical Properties}\label{graphical-properties} The attributes \lstinline!HorizontalCylinder!, \lstinline!VerticalCylinder! and \lstinline!Sphere! specify gradients that represent a horizontal cylinder, a vertical cylinder and a sphere, respectively. The gradient goes from line color to fill color. For polygons the gradients are defined on the enclosing rectangle (for \lstinline!HorizontalCylinder!, \lstinline!VerticalCylinder!) or circle (for \lstinline!Sphere!). +For ellipses the gradients are defined such that the perimeter has line color. +The gradients colors are defined considering full rectangles (ignoring rounded corners) and full ellipses (ignoring arcs). The border pattern attributes \lstinline!Raised!, \lstinline!Sunken! and \lstinline!Engraved! represent frames which are rendered in a tool-dependent way --- inside the extent of the filled shape. From becd5f229d6884d168fd5e1cde20bc136a875872 Mon Sep 17 00:00:00 2001 From: HOS Date: Mon, 15 Dec 2025 10:07:30 +0100 Subject: [PATCH 4/8] WS --- chapters/annotations.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapters/annotations.tex b/chapters/annotations.tex index e5668c3fb..c9f719aee 100644 --- a/chapters/annotations.tex +++ b/chapters/annotations.tex @@ -927,7 +927,7 @@ \subsubsection{Graphical Properties}\label{graphical-properties} The gradient goes from line color to fill color. For polygons the gradients are defined on the enclosing rectangle (for \lstinline!HorizontalCylinder!, \lstinline!VerticalCylinder!) or circle (for \lstinline!Sphere!). For ellipses the gradients are defined such that the perimeter has line color. -The gradients colors are defined considering full rectangles (ignoring rounded corners) and full ellipses (ignoring arcs). +The gradients colors are defined considering full rectangles (ignoring rounded corners) and full ellipses (ignoring arcs). The border pattern attributes \lstinline!Raised!, \lstinline!Sunken! and \lstinline!Engraved! represent frames which are rendered in a tool-dependent way --- inside the extent of the filled shape. From 97147a4de7cbde53b7994faa511d68031f0f7a8c Mon Sep 17 00:00:00 2001 From: Hans Olsson Date: Tue, 16 Dec 2025 16:48:11 +0100 Subject: [PATCH 5/8] Update chapters/annotations.tex Co-authored-by: Henrik Tidefelt --- chapters/annotations.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapters/annotations.tex b/chapters/annotations.tex index c9f719aee..39bbac351 100644 --- a/chapters/annotations.tex +++ b/chapters/annotations.tex @@ -925,7 +925,7 @@ \subsubsection{Graphical Properties}\label{graphical-properties} The attributes \lstinline!HorizontalCylinder!, \lstinline!VerticalCylinder! and \lstinline!Sphere! specify gradients that represent a horizontal cylinder, a vertical cylinder and a sphere, respectively. The gradient goes from line color to fill color. -For polygons the gradients are defined on the enclosing rectangle (for \lstinline!HorizontalCylinder!, \lstinline!VerticalCylinder!) or circle (for \lstinline!Sphere!). +For polygons the gradients are defined on the enclosing rectangle (for \lstinline!HorizontalCylinder!, \lstinline!VerticalCylinder!) or ellipse (for \lstinline!Sphere!). For ellipses the gradients are defined such that the perimeter has line color. The gradients colors are defined considering full rectangles (ignoring rounded corners) and full ellipses (ignoring arcs). From 0ba10a8c90d176ad483e5bcd4018ea7b08eb8dc8 Mon Sep 17 00:00:00 2001 From: HOS Date: Tue, 16 Dec 2025 17:03:08 +0100 Subject: [PATCH 6/8] Reformulated --- chapters/annotations.tex | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/chapters/annotations.tex b/chapters/annotations.tex index c9f719aee..55be35cd0 100644 --- a/chapters/annotations.tex +++ b/chapters/annotations.tex @@ -924,10 +924,9 @@ \subsubsection{Graphical Properties}\label{graphical-properties} The \lstinline!FillPattern! attributes \lstinline!Horizontal!, \lstinline!Vertical!, \lstinline!Cross!, \lstinline!Forward!, \lstinline!Backward! and \lstinline!CrossDiag! specify fill patterns drawn with the line color over the fill color. The attributes \lstinline!HorizontalCylinder!, \lstinline!VerticalCylinder! and \lstinline!Sphere! specify gradients that represent a horizontal cylinder, a vertical cylinder and a sphere, respectively. -The gradient goes from line color to fill color. -For polygons the gradients are defined on the enclosing rectangle (for \lstinline!HorizontalCylinder!, \lstinline!VerticalCylinder!) or circle (for \lstinline!Sphere!). -For ellipses the gradients are defined such that the perimeter has line color. The gradients colors are defined considering full rectangles (ignoring rounded corners) and full ellipses (ignoring arcs). +For polygons the gradients are defined on the enclosing rectangle (for \lstinline!HorizontalCylinder!, \lstinline!VerticalCylinder!) or circle (for \lstinline!Sphere!). +The color gradient attains the fill color at the center, and attains the line color at two of the sides of the rectangle or the border of the ellipse. The border pattern attributes \lstinline!Raised!, \lstinline!Sunken! and \lstinline!Engraved! represent frames which are rendered in a tool-dependent way --- inside the extent of the filled shape. From ad8bbdb1bcf5e287ff6460a36178a5848c4bf385 Mon Sep 17 00:00:00 2001 From: Hans Olsson Date: Wed, 17 Dec 2025 09:40:14 +0100 Subject: [PATCH 7/8] Apply suggestions from code review Co-authored-by: Henrik Tidefelt --- chapters/annotations.tex | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/chapters/annotations.tex b/chapters/annotations.tex index d9f265ee2..b9e21d3ec 100644 --- a/chapters/annotations.tex +++ b/chapters/annotations.tex @@ -924,9 +924,13 @@ \subsubsection{Graphical Properties}\label{graphical-properties} The \lstinline!FillPattern! attributes \lstinline!Horizontal!, \lstinline!Vertical!, \lstinline!Cross!, \lstinline!Forward!, \lstinline!Backward! and \lstinline!CrossDiag! specify fill patterns drawn with the line color over the fill color. The attributes \lstinline!HorizontalCylinder!, \lstinline!VerticalCylinder! and \lstinline!Sphere! specify gradients that represent a horizontal cylinder, a vertical cylinder and a sphere, respectively. -The gradients colors are defined considering full rectangles (ignoring rounded corners) and full ellipses (ignoring arcs). -For polygons the gradients are defined on the enclosing rectangle (for \lstinline!HorizontalCylinder!, \lstinline!VerticalCylinder!) or ellipse (for \lstinline!Sphere!). -The color gradient attains the fill color at the center, and attains the line color at two of the sides of the rectangle or the border of the ellipse. +Gradients are defined for the geometry of a \lstinline!GraphicItem! before its \lstinline!rotation! is applied. +The coloring is defined for an enclosing shape, and then clipped to the actual shape of the \lstinline!GraphicItem!. +For \lstinline!HorizontalCylinder! and \lstinline!VerticalCylinder!, the minimal enclosing axis-parallel rectangle is used, while \lstinline!Sphere! uses the smallest enclosing ellipse. +The enclosing shapes are defined considering full rectangles (ignoring rounded corners) and full ellipses (ignoring arcs). +For \lstinline!HorizontalCylinder!, the gradient attains the fill color along the horizontal line dividing the enclosing rectangle at the center, and the line color at the two horizontal sides of the rectangle. +The \lstinline!VerticalCylinder! is defined analogously to \lstinline!HorizontalCylinder!, but using vertical lines. +For \lstinline!Sphere!, the gradient attains the fill color at the center of the enclosing ellipse, and the line color along the entire border of the ellipse. The border pattern attributes \lstinline!Raised!, \lstinline!Sunken! and \lstinline!Engraved! represent frames which are rendered in a tool-dependent way --- inside the extent of the filled shape. From 3b4bef944e93f4c38bdf688d9f1f678862195c6b Mon Sep 17 00:00:00 2001 From: Hans Olsson Date: Wed, 7 Jan 2026 09:07:25 +0100 Subject: [PATCH 8/8] Update chapters/annotations.tex Co-authored-by: Henrik Tidefelt --- chapters/annotations.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapters/annotations.tex b/chapters/annotations.tex index b9e21d3ec..d123ccf4b 100644 --- a/chapters/annotations.tex +++ b/chapters/annotations.tex @@ -926,7 +926,7 @@ \subsubsection{Graphical Properties}\label{graphical-properties} The attributes \lstinline!HorizontalCylinder!, \lstinline!VerticalCylinder! and \lstinline!Sphere! specify gradients that represent a horizontal cylinder, a vertical cylinder and a sphere, respectively. Gradients are defined for the geometry of a \lstinline!GraphicItem! before its \lstinline!rotation! is applied. The coloring is defined for an enclosing shape, and then clipped to the actual shape of the \lstinline!GraphicItem!. -For \lstinline!HorizontalCylinder! and \lstinline!VerticalCylinder!, the minimal enclosing axis-parallel rectangle is used, while \lstinline!Sphere! uses the smallest enclosing ellipse. +For \lstinline!HorizontalCylinder! and \lstinline!VerticalCylinder!, the minimal enclosing axis-parallel rectangle is used, while \lstinline!Sphere! uses the smallest area enclosing ellipse. The enclosing shapes are defined considering full rectangles (ignoring rounded corners) and full ellipses (ignoring arcs). For \lstinline!HorizontalCylinder!, the gradient attains the fill color along the horizontal line dividing the enclosing rectangle at the center, and the line color at the two horizontal sides of the rectangle. The \lstinline!VerticalCylinder! is defined analogously to \lstinline!HorizontalCylinder!, but using vertical lines.