[latex3-commits] [git/LaTeX3-latex3-latex3] master: l3draw: Line widths (3cb0abe)

Joseph Wright joseph.wright at morningstar2.co.uk
Tue Feb 13 11:30:59 CET 2018


Repository : https://github.com/latex3/latex3
On branch  : master
Link       : https://github.com/latex3/latex3/commit/3cb0abec7cffc301a8683db9f3d02ca60f50fd4f

>---------------------------------------------------------------

commit 3cb0abec7cffc301a8683db9f3d02ca60f50fd4f
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Tue Feb 13 10:30:59 2018 +0000

    l3draw: Line widths


>---------------------------------------------------------------

3cb0abec7cffc301a8683db9f3d02ca60f50fd4f
 l3trial/l3draw/l3draw-scopes.dtx             |    1 +
 l3trial/l3draw/l3draw-state.dtx              |   28 ++++++++++++++++++++++++++
 l3trial/l3draw/l3draw.dtx                    |   27 +++++++++++++++++--------
 l3trial/l3draw/testfiles/m3draw000.tlg       |    2 ++
 l3trial/l3draw/testfiles/m3draw003.ptex.tlg  |    4 ++++
 l3trial/l3draw/testfiles/m3draw003.tlg       |    4 ++++
 l3trial/l3draw/testfiles/m3draw003.uptex.tlg |    4 ++++
 l3trial/l3draw/testfiles/m3draw003.xetex.tlg |    4 ++++
 8 files changed, 66 insertions(+), 8 deletions(-)

diff --git a/l3trial/l3draw/l3draw-scopes.dtx b/l3trial/l3draw/l3draw-scopes.dtx
index 44a889e..f24f3b5 100644
--- a/l3trial/l3draw/l3draw-scopes.dtx
+++ b/l3trial/l3draw/l3draw-scopes.dtx
@@ -107,6 +107,7 @@
       \dim_gzero:N \g_@@_ymin_dim
       \bool_set_true:N \l_@@_update_bb_bool
       \draw_transform_reset:
+      \draw_linewidth_set:n { \l_draw_default_linewidth_dim }
   }
 \cs_new_protected:Npn \draw_end:
   {
diff --git a/l3trial/l3draw/l3draw-state.dtx b/l3trial/l3draw/l3draw-state.dtx
index 73a8f5e..5ae3b29 100644
--- a/l3trial/l3draw/l3draw-state.dtx
+++ b/l3trial/l3draw/l3draw-state.dtx
@@ -58,6 +58,34 @@
 %<@@=draw>
 %    \end{macrocode}
 %
+% \begin{variable}{\g_@@_linewidth_dim}
+%   Linewidth for strokes: global as the scope for this relies on
+%   the graphics state.
+%    \begin{macrocode}
+\dim_new:N \g_@@_linewidth_dim
+%    \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\l_draw_default_linewidth_dim}
+%   A default: this is used at the start of every drawing.
+%    \begin{macrocode}
+\dim_new:N \l_draw_default_linewidth_dim
+\dim_set:Nn \l_draw_default_linewidth_dim { 0.4pt }
+%    \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\draw_linewidth_set:n}
+%   Set the linewidth: we need a wrapper as this has to pass to the driver
+%   layer.
+%    \begin{macrocode}
+\cs_new_protected:Npn \draw_linewidth_set:n #1
+  {
+    \dim_gset:Nn \g_@@_linewidth_dim { \fp_to_dim:n {#1} }
+    \driver_draw_linewidth:n \g_@@_linewidth_dim
+  }
+%    \end{macrocode}
+% \end{macro}
+%
 %    \begin{macrocode}
 %</initex|package>
 %    \end{macrocode}
diff --git a/l3trial/l3draw/l3draw.dtx b/l3trial/l3draw/l3draw.dtx
index 21e628b..bb8fd3d 100644
--- a/l3trial/l3draw/l3draw.dtx
+++ b/l3trial/l3draw/l3draw.dtx
@@ -60,6 +60,17 @@
 %   \end{syntax}
 % \end{function}
 %
+% \subsection{Settings}
+%
+% \begin{function}{\g_draw_linewidth_default_dim}
+% \end{function}
+%
+% \begin{function}{\draw_linewidth_set:n}
+%   \begin{syntax}
+%     \cs{draw_linewidth_set:n} \marg{dim}
+%   \end{syntax}
+% \end{function}
+%
 % \subsection{Points}
 %
 % \begin{function}[EXP]{\draw_point:nn}
@@ -104,26 +115,26 @@
 %   \end{syntax}
 % \end{function}
 %
-% \begin{function}[rEXP]{\draw_point_vec:nn, \draw_point_vec:nnn}
+% \begin{function}[EXP]{\draw_point_vec:nn, \draw_point_vec:nnn}
 %   \begin{syntax}
 %     \cs{draw_point_vec:nn} \marg{xscale} \marg{yscale}
 %     \cs{draw_point_vec:nnn} \marg{xscale} \marg{yscale} \marg{zscale}
 %   \end{syntax}
 % \end{function}
 %
-% \begin{function}[rEXP]{\draw_point_vec_polar:nn}
+% \begin{function}[EXP]{\draw_point_vec_polar:nn}
 %   \begin{syntax}
 %     \cs{draw_point_vec_polar:nn} \marg{angle} \marg{length}
 %   \end{syntax}
 % \end{function}
 %
-% \begin{function}[rEXP]{\draw_point_intersect_lines:nnnn}
+% \begin{function}[EXP]{\draw_point_intersect_lines:nnnn}
 %   \begin{syntax}
 %     \cs{draw_point_intersect_lines:nnnn} \marg{P1} \marg{P2} \marg{P3} \marg{P4}
 %   \end{syntax}
 % \end{function}
 %
-% \begin{function}[rEXP]{\draw_point_intersect_circles:nnnn}
+% \begin{function}[EXP]{\draw_point_intersect_circles:nnnn}
 %   \begin{syntax}
 %     \cs{draw_point_intersect_circles:nnnnn}
 %       \marg{center1} \marg{radius1} \marg{center2} \marg{radius2} \marg{root}
@@ -131,26 +142,26 @@
 %   % Note interface, cf. pgf
 % \end{function}
 %
-% \begin{function}[rEXP]{\draw_point_interpolate_line:nnn}
+% \begin{function}[EXP]{\draw_point_interpolate_line:nnn}
 %   \begin{syntax}
 %     \cs{draw_point_interpolate_line:nnn} \marg{part} \marg{point expr1} \marg{point expr2}
 %   \end{syntax}
 % \end{function}
 %
-% \begin{function}[rEXP]{\draw_point_interpolate_distance:nnn}
+% \begin{function}[EXP]{\draw_point_interpolate_distance:nnn}
 %   \begin{syntax}
 %     \cs{draw_point_interpolate_distance:nnn} \marg{distance} \marg{point expr1} \marg{point expr2}
 %   \end{syntax}
 % \end{function}
 %
-% \begin{function}[rEXP]{\draw_point_interpolate_arc:nnn}
+% \begin{function}[EXP]{\draw_point_interpolate_arc:nnn}
 %   \begin{syntax}
 %     \cs{draw_point_interpolate_line:nnn} \marg{part}
 %       \marg{center} \marg{minor axis} \marg{major axis} \marg{angle1} \marg{angle2}
 %   \end{syntax}
 % \end{function}
 %
-% \begin{function}[rEXP]{\draw_point_transform:n}
+% \begin{function}[EXP]{\draw_point_transform:n}
 %   \begin{syntax}
 %     \cs{draw_point_transform:n} \marg{point expr}
 %   \end{syntax}
diff --git a/l3trial/l3draw/testfiles/m3draw000.tlg b/l3trial/l3draw/testfiles/m3draw000.tlg
index 599167b..90e8b40 100644
--- a/l3trial/l3draw/testfiles/m3draw000.tlg
+++ b/l3trial/l3draw/testfiles/m3draw000.tlg
@@ -19,6 +19,8 @@ Author: Joseph Wright
 \g__draw_ymax_dim=\dimen...
 \g__draw_ymin_dim=\dimen...
 \l__draw_main_box=\box...
+\g__draw_linewidth_dim=\dimen...
+\l_draw_default_linewidth_dim=\dimen...
 \l__draw_transformcm_xshift_dim=\dimen...
 \l__draw_transformcm_yshift_dim=\dimen...
 )
diff --git a/l3trial/l3draw/testfiles/m3draw003.ptex.tlg b/l3trial/l3draw/testfiles/m3draw003.ptex.tlg
index d1b4ede..1d6ebef 100644
--- a/l3trial/l3draw/testfiles/m3draw003.ptex.tlg
+++ b/l3trial/l3draw/testfiles/m3draw003.ptex.tlg
@@ -7,6 +7,7 @@ TEST 1: \draw_path_moveto:n
 \hbox(0.0+0.0)x0.0
 .\hbox(0.0+0.0)x0.0
 ..\special{pdf:literal q}
+..\special{pdf:literal 0.3985 w}
 ..\special{pdf:literal 9.96265 9.96265 m}
 ..\special{pdf:literal Q}
 ! OK.
@@ -20,6 +21,7 @@ TEST 2: \draw_path_lineto:n
 \hbox(0.0+0.0)x0.0
 .\hbox(0.0+0.0)x0.0
 ..\special{pdf:literal q}
+..\special{pdf:literal 0.3985 w}
 ..\special{pdf:literal 9.96265 9.96265 l}
 ..\special{pdf:literal Q}
 ! OK.
@@ -33,6 +35,7 @@ TEST 3: \draw_path_curveto:nnn
 \hbox(0.0+0.0)x0.0
 .\hbox(0.0+0.0)x0.0
 ..\special{pdf:literal q}
+..\special{pdf:literal 0.3985 w}
 ..\special{pdf:literal 0 28.34647 28.34647 28.34647 28.34647 56.69292 c}
 ..\special{pdf:literal Q}
 ! OK.
@@ -46,6 +49,7 @@ TEST 4: \draw_path_close:
 \hbox(0.0+0.0)x0.0
 .\hbox(0.0+0.0)x0.0
 ..\special{pdf:literal q}
+..\special{pdf:literal 0.3985 w}
 ..\special{pdf:literal 0 0 m}
 ..\special{pdf:literal 0.99626 0 l}
 ..\special{pdf:literal 0.99626 0.99626 l}
diff --git a/l3trial/l3draw/testfiles/m3draw003.tlg b/l3trial/l3draw/testfiles/m3draw003.tlg
index 1e9737a..5ae0d5d 100644
--- a/l3trial/l3draw/testfiles/m3draw003.tlg
+++ b/l3trial/l3draw/testfiles/m3draw003.tlg
@@ -7,6 +7,7 @@ TEST 1: \draw_path_moveto:n
 \hbox(0.0+0.0)x0.0
 .\hbox(0.0+0.0)x0.0
 ..\pdfliteral{q}
+..\pdfliteral{0.3985 w}
 ..\pdfliteral{9.96265 9.96265 m}
 ..\pdfliteral{Q}
 ! OK.
@@ -20,6 +21,7 @@ TEST 2: \draw_path_lineto:n
 \hbox(0.0+0.0)x0.0
 .\hbox(0.0+0.0)x0.0
 ..\pdfliteral{q}
+..\pdfliteral{0.3985 w}
 ..\pdfliteral{9.96265 9.96265 l}
 ..\pdfliteral{Q}
 ! OK.
@@ -33,6 +35,7 @@ TEST 3: \draw_path_curveto:nnn
 \hbox(0.0+0.0)x0.0
 .\hbox(0.0+0.0)x0.0
 ..\pdfliteral{q}
+..\pdfliteral{0.3985 w}
 ..\pdfliteral{0 28.34647 28.34647 28.34647 28.34647 56.69292 c}
 ..\pdfliteral{Q}
 ! OK.
@@ -46,6 +49,7 @@ TEST 4: \draw_path_close:
 \hbox(0.0+0.0)x0.0
 .\hbox(0.0+0.0)x0.0
 ..\pdfliteral{q}
+..\pdfliteral{0.3985 w}
 ..\pdfliteral{0 0 m}
 ..\pdfliteral{0.99626 0 l}
 ..\pdfliteral{0.99626 0.99626 l}
diff --git a/l3trial/l3draw/testfiles/m3draw003.uptex.tlg b/l3trial/l3draw/testfiles/m3draw003.uptex.tlg
index d1b4ede..1d6ebef 100644
--- a/l3trial/l3draw/testfiles/m3draw003.uptex.tlg
+++ b/l3trial/l3draw/testfiles/m3draw003.uptex.tlg
@@ -7,6 +7,7 @@ TEST 1: \draw_path_moveto:n
 \hbox(0.0+0.0)x0.0
 .\hbox(0.0+0.0)x0.0
 ..\special{pdf:literal q}
+..\special{pdf:literal 0.3985 w}
 ..\special{pdf:literal 9.96265 9.96265 m}
 ..\special{pdf:literal Q}
 ! OK.
@@ -20,6 +21,7 @@ TEST 2: \draw_path_lineto:n
 \hbox(0.0+0.0)x0.0
 .\hbox(0.0+0.0)x0.0
 ..\special{pdf:literal q}
+..\special{pdf:literal 0.3985 w}
 ..\special{pdf:literal 9.96265 9.96265 l}
 ..\special{pdf:literal Q}
 ! OK.
@@ -33,6 +35,7 @@ TEST 3: \draw_path_curveto:nnn
 \hbox(0.0+0.0)x0.0
 .\hbox(0.0+0.0)x0.0
 ..\special{pdf:literal q}
+..\special{pdf:literal 0.3985 w}
 ..\special{pdf:literal 0 28.34647 28.34647 28.34647 28.34647 56.69292 c}
 ..\special{pdf:literal Q}
 ! OK.
@@ -46,6 +49,7 @@ TEST 4: \draw_path_close:
 \hbox(0.0+0.0)x0.0
 .\hbox(0.0+0.0)x0.0
 ..\special{pdf:literal q}
+..\special{pdf:literal 0.3985 w}
 ..\special{pdf:literal 0 0 m}
 ..\special{pdf:literal 0.99626 0 l}
 ..\special{pdf:literal 0.99626 0.99626 l}
diff --git a/l3trial/l3draw/testfiles/m3draw003.xetex.tlg b/l3trial/l3draw/testfiles/m3draw003.xetex.tlg
index d1b4ede..1d6ebef 100644
--- a/l3trial/l3draw/testfiles/m3draw003.xetex.tlg
+++ b/l3trial/l3draw/testfiles/m3draw003.xetex.tlg
@@ -7,6 +7,7 @@ TEST 1: \draw_path_moveto:n
 \hbox(0.0+0.0)x0.0
 .\hbox(0.0+0.0)x0.0
 ..\special{pdf:literal q}
+..\special{pdf:literal 0.3985 w}
 ..\special{pdf:literal 9.96265 9.96265 m}
 ..\special{pdf:literal Q}
 ! OK.
@@ -20,6 +21,7 @@ TEST 2: \draw_path_lineto:n
 \hbox(0.0+0.0)x0.0
 .\hbox(0.0+0.0)x0.0
 ..\special{pdf:literal q}
+..\special{pdf:literal 0.3985 w}
 ..\special{pdf:literal 9.96265 9.96265 l}
 ..\special{pdf:literal Q}
 ! OK.
@@ -33,6 +35,7 @@ TEST 3: \draw_path_curveto:nnn
 \hbox(0.0+0.0)x0.0
 .\hbox(0.0+0.0)x0.0
 ..\special{pdf:literal q}
+..\special{pdf:literal 0.3985 w}
 ..\special{pdf:literal 0 28.34647 28.34647 28.34647 28.34647 56.69292 c}
 ..\special{pdf:literal Q}
 ! OK.
@@ -46,6 +49,7 @@ TEST 4: \draw_path_close:
 \hbox(0.0+0.0)x0.0
 .\hbox(0.0+0.0)x0.0
 ..\special{pdf:literal q}
+..\special{pdf:literal 0.3985 w}
 ..\special{pdf:literal 0 0 m}
 ..\special{pdf:literal 0.99626 0 l}
 ..\special{pdf:literal 0.99626 0.99626 l}





More information about the latex3-commits mailing list