[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