[latex3-commits] [git/LaTeX3-latex3-latex3] master: Split transform interface into shift/matrix (c326f9c)
Joseph Wright
joseph.wright at morningstar2.co.uk
Fri Mar 2 22:49:39 CET 2018
Repository : https://github.com/latex3/latex3
On branch : master
Link : https://github.com/latex3/latex3/commit/c326f9cf44a99d44a048277c88e2fd2bdd346c8d
>---------------------------------------------------------------
commit c326f9cf44a99d44a048277c88e2fd2bdd346c8d
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Fri Mar 2 21:49:39 2018 +0000
Split transform interface into shift/matrix
This will fit better with some internals, but also
the fact that the two areas are separate.
>---------------------------------------------------------------
c326f9cf44a99d44a048277c88e2fd2bdd346c8d
l3experimental/l3draw/l3draw-points.dtx | 27 ++-
l3experimental/l3draw/l3draw-scopes.dtx | 3 +-
l3experimental/l3draw/l3draw-transforms.dtx | 236 +++++++++++--------------
l3experimental/l3draw/l3draw.dtx | 57 +++---
l3experimental/l3draw/testfiles/m3draw000.tlg | 4 +-
l3experimental/l3draw/testfiles/m3draw002.lvt | 30 ++--
l3experimental/l3draw/testfiles/m3draw002.tlg | 19 +-
l3experimental/l3draw/testfiles/m3draw003.lvt | 9 +-
8 files changed, 174 insertions(+), 211 deletions(-)
diff --git a/l3experimental/l3draw/l3draw-points.dtx b/l3experimental/l3draw/l3draw-points.dtx
index a0d8d49..4c8d29f 100644
--- a/l3experimental/l3draw/l3draw-points.dtx
+++ b/l3experimental/l3draw/l3draw-points.dtx
@@ -880,20 +880,20 @@
}
\cs_new:Npn \@@_point_transform:nn #1#2
{
- \bool_if:NTF \l_@@_transformcm_active_bool
+ \bool_if:NTF \l_@@_matrix_active_bool
{
\@@_point_to_dim:n
{
(
- \l_@@_transformcm_aa_fp * #1
- + \l_@@_transformcm_ba_fp * #2
- + \l_@@_transformcm_xshift_dim
+ \l_@@_matrix_aa_fp * #1
+ + \l_@@_matrix_ba_fp * #2
+ + \l_@@_xshift_dim
)
,
(
- \l_@@_transformcm_ab_fp * #1
- + \l_@@_transformcm_bb_fp * #2
- + \l_@@_transformcm_yshift_dim
+ \l_@@_matrix_ab_fp * #1
+ + \l_@@_matrix_bb_fp * #2
+ + \l_@@_yshift_dim
)
}
}
@@ -901,8 +901,7 @@
\@@_point_to_dim:n
{
(#1, #2)
- + ( \l_@@_transformcm_xshift_dim ,
- \l_@@_transformcm_yshift_dim )
+ + ( \l_@@_xshift_dim , \l_@@_yshift_dim )
}
}
}
@@ -921,18 +920,18 @@
}
\cs_new:Npn \@@_point_transform_noshift:nn #1#2
{
- \bool_if:NTF \l_@@_transformcm_active_bool
+ \bool_if:NTF \l_@@_matrix_active_bool
{
\@@_point_to_dim:n
{
(
- \l_@@_transformcm_aa_fp * #1
- + \l_@@_transformcm_ba_fp * #2
+ \l_@@_matrix_aa_fp * #1
+ + \l_@@_matrix_ba_fp * #2
)
,
(
- \l_@@_transformcm_ab_fp * #1
- + \l_@@_transformcm_bb_fp * #2
+ \l_@@_matrix_ab_fp * #1
+ + \l_@@_matrix_bb_fp * #2
)
}
}
diff --git a/l3experimental/l3draw/l3draw-scopes.dtx b/l3experimental/l3draw/l3draw-scopes.dtx
index 5e233c7..8e8f949 100644
--- a/l3experimental/l3draw/l3draw-scopes.dtx
+++ b/l3experimental/l3draw/l3draw-scopes.dtx
@@ -130,7 +130,8 @@
\@@_reset_bb:
\@@_path_reset_limits:
\bool_set_true:N \l_@@_update_bb_bool
- \draw_transform_reset:
+ \draw_transform_matrix_reset:
+ \draw_transform_shift_reset:
\@@_softpath_clear:
\draw_linewidth:n { \l_draw_default_linewidth_dim }
\draw_color:n { . }
diff --git a/l3experimental/l3draw/l3draw-transforms.dtx b/l3experimental/l3draw/l3draw-transforms.dtx
index ad667e4..800f7cc 100644
--- a/l3experimental/l3draw/l3draw-transforms.dtx
+++ b/l3experimental/l3draw/l3draw-transforms.dtx
@@ -72,156 +72,143 @@
% use cases are encountered in other parts of the code.
% \end{itemize}
%
-% \begin{variable}{\l_@@_transformcm_active_bool}
+% \begin{variable}{\l_@@_matrix_active_bool}
% An internal flag to avoid redundant calculations.
% \begin{macrocode}
-\bool_new:N \l_@@_transformcm_active_bool
+\bool_new:N \l_@@_matrix_active_bool
% \end{macrocode}
% \end{variable}
%
% \begin{variable}
% {
-% \l_@@_transformcm_aa_fp, \l_@@_transformcm_ab_fp,
-% \l_@@_transformcm_ba_fp, \l_@@_transformcm_aa_fp,
-% \l_@@_transformcm_xshift_dim,
-% \l_@@_transformcm_yshift_dim
+% \l_@@_matrix_aa_fp, \l_@@_matrix_ab_fp,
+% \l_@@_matrix_ba_fp, \l_@@_matrix_aa_fp,
+% \l_@@_xshift_dim,
+% \l_@@_yshift_dim
% }
-% The active matrix itself.
+% The active matrix and shifts.
% \begin{macrocode}
-\fp_new:N \l_@@_transformcm_aa_fp
-\fp_new:N \l_@@_transformcm_ab_fp
-\fp_new:N \l_@@_transformcm_ba_fp
-\fp_new:N \l_@@_transformcm_bb_fp
-\dim_new:N \l_@@_transformcm_xshift_dim
-\dim_new:N \l_@@_transformcm_yshift_dim
+\fp_new:N \l_@@_matrix_aa_fp
+\fp_new:N \l_@@_matrix_ab_fp
+\fp_new:N \l_@@_matrix_ba_fp
+\fp_new:N \l_@@_matrix_bb_fp
+\dim_new:N \l_@@_xshift_dim
+\dim_new:N \l_@@_yshift_dim
% \end{macrocode}
% \end{variable}
%
-% \begin{macro}{\draw_transform_reset:, \draw_transform_reset_retain_shift:}
+% \begin{macro}{\draw_transform_matrix_reset:, \draw_transform_shift_reset:}
% Fast resetting.
% \begin{macrocode}
-\cs_new_protected:Npn \draw_transform_reset:
+\cs_new_protected:Npn \draw_transform_matrix_reset:
{
- \fp_set:Nn \l_@@_transformcm_aa_fp { 1}
- \fp_zero:N \l_@@_transformcm_ab_fp
- \fp_zero:N \l_@@_transformcm_ba_fp
- \fp_set:Nn \l_@@_transformcm_bb_fp { 1 }
- \dim_zero:N \l_@@_transformcm_xshift_dim
- \dim_zero:N \l_@@_transformcm_yshift_dim
+ \fp_set:Nn \l_@@_matrix_aa_fp { 1 }
+ \fp_zero:N \l_@@_matrix_ab_fp
+ \fp_zero:N \l_@@_matrix_ba_fp
+ \fp_set:Nn \l_@@_matrix_bb_fp { 1 }
}
-\draw_transform_reset:
-\cs_new_protected:Npn \draw_transform_reset_retain_shift:
+\cs_new_protected:Npn \draw_transform_shift_reset:
{
- \fp_set:Nn \l_@@_transformcm_aa_fp { 1}
- \fp_zero:N \l_@@_transformcm_ab_fp
- \fp_zero:N \l_@@_transformcm_ba_fp
- \fp_set:Nn \l_@@_transformcm_bb_fp { 1 }
+ \dim_zero:N \l_@@_xshift_dim
+ \dim_zero:N \l_@@_yshift_dim
}
+\draw_transform_matrix_reset:
+\draw_transform_shift_reset:
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\draw_transform:nnnnn}
-% \begin{macro}{\@@_transform:nnnnnnn}
+% \begin{macro}{\draw_transform_matrix:nnnn}
+% \begin{macro}{\draw_transform_shift:n}
+% \begin{macro}{\@@_transform_shift:nn}
% Setting the transform matrix is straight-forward, with just a bit
% of expansion to sort out. With the mechanism active, the identity
% matrix is set.
% \begin{macrocode}
-\cs_new_protected:Npn \draw_transform:nnnnn #1#2#3#4#5
+\cs_new_protected:Npn \draw_transform_matrix:nnnn #1#2#3#4
{
- \@@_point_process:nn
- { \@@_transform:nnnnnnn {#1} {#2} {#3} {#4} }
- {#5}
- }
-\cs_new_protected:Npn \@@_transform:nnnnnnn #1#2#3#4#5#6
- {
- \fp_set:Nn \l_@@_transformcm_aa_fp {#1}
- \fp_set:Nn \l_@@_transformcm_ab_fp {#2}
- \fp_set:Nn \l_@@_transformcm_ba_fp {#3}
- \fp_set:Nn \l_@@_transformcm_bb_fp {#4}
- \dim_set:Nn \l_@@_transformcm_xshift_dim {#5}
- \dim_set:Nn \l_@@_transformcm_yshift_dim {#6}
+ \fp_set:Nn \l_@@_matrix_aa_fp {#1}
+ \fp_set:Nn \l_@@_matrix_ab_fp {#2}
+ \fp_set:Nn \l_@@_matrix_ba_fp {#3}
+ \fp_set:Nn \l_@@_matrix_bb_fp {#4}
\bool_lazy_all:nTF
{
- { \fp_compare_p:nNn \l_@@_transformcm_aa_fp = \c_one_fp }
- { \fp_compare_p:nNn \l_@@_transformcm_ab_fp = \c_zero_fp }
- { \fp_compare_p:nNn \l_@@_transformcm_ba_fp = \c_zero_fp }
- { \fp_compare_p:nNn \l_@@_transformcm_bb_fp = \c_one_fp }
+ { \fp_compare_p:nNn \l_@@_matrix_aa_fp = \c_one_fp }
+ { \fp_compare_p:nNn \l_@@_matrix_ab_fp = \c_zero_fp }
+ { \fp_compare_p:nNn \l_@@_matrix_ba_fp = \c_zero_fp }
+ { \fp_compare_p:nNn \l_@@_matrix_bb_fp = \c_one_fp }
}
- { \bool_set_false:N \l_@@_transformcm_active_bool }
- { \bool_set_true:N \l_@@_transformcm_active_bool }
+ { \bool_set_false:N \l_@@_matrix_active_bool }
+ { \bool_set_true:N \l_@@_matrix_active_bool }
+ }
+\cs_new_protected:Npn \draw_transform_shift:n #1
+ {
+ \@@_point_process:nn
+ { \@@_transform_shift:nn } {#1}
+ }
+\cs_new_protected:Npn \@@_transform_shift:nn #1#2
+ {
+ \dim_set:Nn \l_@@_xshift_dim {#1}
+ \dim_set:Nn \l_@@_yshift_dim {#2}
}
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \end{macro}
%
-% \begin{macro}{\draw_transform_concat:nnnnn}
-% \begin{macro}{\@@_transform_concat:nnnnnn}
-% \begin{macro}{\@@_transform_concat_aux:nnnnnn}
-% Much the same story for adding to an existing matrix. The part that is more
-% complex is the calculations required: everything gets passed back to
-% \cs{@@_transform_set:nnnnnn}, with pre-expansion just in case there are
-% \emph{e.g}~random values. The final step is \texttt{x}-type expanded as
-% otherwise later values affect earlier ones.
+% \begin{macro}{\draw_transform_matrix_concat:nnnn}
+% \begin{macro}{\@@_transform_concat:nnnn}
+% \begin{macro}{\draw_transform_shift_concat:n}
+% \begin{macro}{\@@_transform_shift_concat:nn}
+% Much the same story for adding to an existing matrix, with a bit of
+% pre-expansion so that the calculation uses \enquote{frozen} values.
% \begin{macrocode}
-\cs_new_protected:Npn \draw_transform_concat:nnnnn #1#2#3#4#5
- {
- \@@_point_process:nn
- { \@@_transform_concat:nnnnnn {#1} {#2} {#3} {#4} }
- {#5}
- }
-\cs_new_protected:Npn \@@_transform_concat:nnnnnn #1#2#3#4#5#6
+\cs_new_protected:Npn \draw_transform_matrix_concat:nnnn #1#2#3#4
{
\use:x
{
- \@@_transform_concat_aux:nnnnnn
+ \@@_transform_concat:nnnn
{ \fp_eval:n {#1} }
{ \fp_eval:n {#2} }
{ \fp_eval:n {#3} }
{ \fp_eval:n {#4} }
- {#5}
- {#6}
}
}
-\cs_new_protected:Npn \@@_transform_concat_aux:nnnnnn #1#2#3#4#5#6
+\cs_new_protected:Npn \@@_transform_concat:nnnn #1#2#3#4
{
\use:x
{
- \@@_transform:nnnnnnn
- { #1 * \l_@@_transformcm_aa_fp + #2 * \l_@@_transformcm_ba_fp }
- { #1 * \l_@@_transformcm_ab_fp + #2 * \l_@@_transformcm_bb_fp }
- { #3 * \l_@@_transformcm_aa_fp + #4 * \l_@@_transformcm_ba_fp }
- { #3 * \l_@@_transformcm_ab_fp + #4 * \l_@@_transformcm_bb_fp }
- {
- \fp_to_dim:n
- {
- \l_@@_transformcm_xshift_dim
- + \l_@@_transformcm_aa_fp * #5
- + \l_@@_transformcm_ba_fp * #6
- }
- }
- {
- \fp_to_dim:n
- {
- \l_@@_transformcm_yshift_dim
- + \l_@@_transformcm_ab_fp * #5
- + \l_@@_transformcm_bb_fp * #6
- }
- }
+ \draw_transform_matrix:nnnn
+ { #1 * \l_@@_matrix_aa_fp + #2 * \l_@@_matrix_ba_fp }
+ { #1 * \l_@@_matrix_ab_fp + #2 * \l_@@_matrix_bb_fp }
+ { #3 * \l_@@_matrix_aa_fp + #4 * \l_@@_matrix_ba_fp }
+ { #3 * \l_@@_matrix_ab_fp + #4 * \l_@@_matrix_bb_fp }
}
}
+\cs_new_protected:Npn \draw_transform_shift_concat:n #1
+ {
+ \@@_point_process:nn
+ { \@@_transform_shift_concat:nn } {#1}
+ }
+\cs_new_protected:Npn \@@_transform_shift_concat:nn #1#2
+ {
+ \dim_set:Nn \l_@@_xshift_dim { \l_@@_xshift_dim + #1 }
+ \dim_set:Nn \l_@@_yshift_dim { \l_@@_yshift_dim + #2 }
+ }
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
%
-% \begin{macro}{\draw_transform_invert:}
+% \begin{macro}{\draw_transform_matrix_invert:}
% \begin{macro}{\@@_transform_invert:n, \@@_transform_invert:f}
+% \begin{macro}{\draw_transform_shift_invert:}
% Standard mathematics: calculate the inverse matrix and use that, then
% undo the shifts.
% \begin{macrocode}
-\cs_new_protected:Npn \draw_transform_invert:
+\cs_new_protected:Npn \draw_transform_matrix_invert:
{
- \bool_if:NT \l_@@_transformcm_active_bool
+ \bool_if:NT \l_@@_matrix_active_bool
{
\@@_transform_invert:f
{
@@ -229,44 +216,34 @@
{
1 /
(
- \l_@@_transformcm_aa_fp * \l_@@_transformcm_bb_fp
- - \l_@@_transformcm_ab_fp * \l_@@_transformcm_ba_fp
+ \l_@@_matrix_aa_fp * \l_@@_matrix_bb_fp
+ - \l_@@_matrix_ab_fp * \l_@@_matrix_ba_fp
)
}
}
}
- \dim_set:Nn \l_@@_transformcm_xshift_dim
- {
- \fp_to_dim:n
- {
- -\l_@@_transformcm_xshift_dim * \l_@@_transformcm_aa_fp
- -\l_@@_transformcm_yshift_dim * \l_@@_transformcm_ba_fp
- }
- }
- \dim_set:Nn \l_@@_transformcm_yshift_dim
- {
- \fp_to_dim:n
- {
- -\l_@@_transformcm_xshift_dim * \l_@@_transformcm_ab_fp
- -\l_@@_transformcm_yshift_dim * \l_@@_transformcm_bb_fp
- }
- }
}
\cs_new_protected:Npn \@@_transform_invert:n #1
{
- \fp_set:Nn \l_@@_transformcm_aa_fp
- { \l_@@_transformcm_bb_fp * #1 }
- \fp_set:Nn \l_@@_transformcm_ab_fp
- { -\l_@@_transformcm_ab_fp * #1 }
- \fp_set:Nn \l_@@_transformcm_ba_fp
- { -\l_@@_transformcm_ba_fp * #1 }
- \fp_set:Nn \l_@@_transformcm_bb_fp
- { \l_@@_transformcm_aa_fp * #1 }
+ \fp_set:Nn \l_@@_matrix_aa_fp
+ { \l_@@_matrix_bb_fp * #1 }
+ \fp_set:Nn \l_@@_matrix_ab_fp
+ { -\l_@@_matrix_ab_fp * #1 }
+ \fp_set:Nn \l_@@_matrix_ba_fp
+ { -\l_@@_matrix_ba_fp * #1 }
+ \fp_set:Nn \l_@@_matrix_bb_fp
+ { \l_@@_matrix_aa_fp * #1 }
}
\cs_generate_variant:Nn \@@_transform_invert:n { f }
+\cs_new_protected:Npn \draw_transform_shift_invert:
+ {
+ \dim_set:Nn \l_@@_xshift_dim { -\l_@@_xshift_dim }
+ \dim_set:Nn \l_@@_yshift_dim { -\l_@@_yshift_dim }
+ }
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\draw_transform_triangle:nnn}
% Simple maths to move the canvas origin to |#1| and the two axes to
@@ -286,13 +263,12 @@
{
\use:x
{
- \@@_transform:nnnnnnn
+ \draw_transform_matrix:nnnn
{ #3 - #1 }
{ #4 - #2 }
{ #5 - #1 }
{ #6 - #2 }
- {#1}
- {#2}
+ \draw_transform_shift:n { #1 , #2 }
}
}
% \end{macrocode}
@@ -301,27 +277,25 @@
% \begin{macro}
% {\draw_transform_scale:n, \draw_transform_xscale:n, \draw_transform_yscale:n}
% \begin{macro}
-% {\draw_transform_shift:n, \draw_transform_xshift:n, \draw_transform_yshift:n}
+% {\draw_transform_xshift:n, \draw_transform_yshift:n}
% \begin{macro}
% {\draw_transform_xslant:n, \draw_transform_yslant:n}
% Lots of shortcuts.
% \begin{macrocode}
\cs_new_protected:Npn \draw_transform_scale:n #1
- { \draw_transform_concat:nnnnn { #1 } { 0 } { 0 } { #1 } { 0 , 0 } }
+ { \draw_transform_matrix_concat:nnnn { #1 } { 0 } { 0 } { #1 } }
\cs_new_protected:Npn \draw_transform_xscale:n #1
- { \draw_transform_concat:nnnnn { #1 } { 0 } { 0 } { 1 } { 0 , 0 } }
+ { \draw_transform_matrix_concat:nnnn { #1 } { 0 } { 0 } { 1 } }
\cs_new_protected:Npn \draw_transform_yscale:n #1
- { \draw_transform_concat:nnnnn { 1 } { 0 } { 0 } { #1 } { 0 , 0 } }
-\cs_new_protected:Npn \draw_transform_shift:n #1
- { \draw_transform_concat:nnnnn { 1 } { 0 } { 0 } { 1 } {#1} }
+ { \draw_transform_matrix_concat:nnnn { 1 } { 0 } { 0 } { #1 } }
\cs_new_protected:Npn \draw_transform_xshift:n #1
- { \draw_transform_concat:nnnnn { 1 } { 0 } { 0 } { 1 } { #1 , 0 } }
+ { \draw_transform_shift_concat:n { #1 , 0 } }
\cs_new_protected:Npn \draw_transform_yshift:n #1
- { \draw_transform_concat:nnnnn { 1 } { 0 } { 0 } { 1 } { 0 , #1 } }
+ { \draw_transform_shift_concat:n { 0 , #1 } }
\cs_new_protected:Npn \draw_transform_xslant:n #1
- { \draw_transform_concat:nnnnn { 1 } { 0 } { #1 } { 1 } { 0 , 0 } }
+ { \draw_transform_matrix_concat:nnnn { 1 } { 0 } { #1 } { 1 } }
\cs_new_protected:Npn \draw_transform_yslant:n #1
- { \draw_transform_concat:nnnnn { 1 } { #1 } { 0 } { 1 } { 0 , 0 } }
+ { \draw_transform_matrix_concat:nnnn { 1 } { #1 } { 0 } { 1 } }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -346,7 +320,7 @@
}
\cs_generate_variant:Nn \@@_transform_rotate:n { f }
\cs_new_protected:Npn \@@_transform_rotate:nn #1#2
- { \draw_transform_concat:nnnnn {#1} {#2} { -#2 } { #1 } { 0 , 0 } }
+ { \draw_transform_matrix_concat:nnnn {#1} {#2} { -#2 } { #1 } }
\cs_generate_variant:Nn \@@_transform_rotate:nn { ff }
% \end{macrocode}
% \end{macro}
diff --git a/l3experimental/l3draw/l3draw.dtx b/l3experimental/l3draw/l3draw.dtx
index 7411469..44a8a55 100644
--- a/l3experimental/l3draw/l3draw.dtx
+++ b/l3experimental/l3draw/l3draw.dtx
@@ -877,25 +877,24 @@
% may be adjusted using \cs{driver_draw_transformcm:nnnnnn}: note that this
% is transparent to the drawing code so is not tracked.
%
-% \begin{function}{\draw_transform:nnnnn}
+% \begin{function}
+% {\draw_transform_matrix:nnnn, \draw_transform_matrix_concat:nnnn}
% \begin{syntax}
-% \cs{draw_transform:nnnnn}
-% \Arg{a} \Arg{b} \Arg{c} \Arg{d} \Arg{vector}
+% \cs{draw_transform_matrix:nnnnn}
+% \Arg{a} \Arg{b} \Arg{c} \Arg{d}
% \end{syntax}
-% Applies the transformation matrix specified, over-writing any existing
-% matrix. The transformation is made up of a matrix \meta{a}, \meta{b},
-% \meta{c} and \meta{d}, and a shift by the \meta{vector}.
+% Applies the transformation matrix $[ \meta{a} \meta{b} \meta{c} \meta{d}]$.
+% The basic version over-writes the current matrix, the |concat| version
+% concatenates.
% This assignment is local.
% \end{function}
%
-% \begin{function}{\draw_transform_concat:nnnnn}
+% \begin{function}{\draw_transform_shift:n, \draw_transform_shift_concat:n}
% \begin{syntax}
-% \cs{draw_transform_concat:nnnnn}
-% \Arg{a} \Arg{b} \Arg{c} \Arg{d} \Arg{vector}
+% \cs{draw_transform_shift:n} \Arg{vector}
% \end{syntax}
-% Appends the given transformation to the currently-active one. The
-% transformation is made up of a matrix \meta{a}, \meta{b}, \meta{c} and
-% \meta{d}, and a shift by the \meta{vector}.
+% Applies the transformation \meta{vector} to points. The basic version
+% over-writes the current vector, the |concat| version concatenates.
% This assignment is local.
% \end{function}
%
@@ -914,7 +913,7 @@
% \begin{syntax}
% \cs{draw_transform_rotate:n} \Arg{angle}
% \end{syntax}
-% Applies a roation by the \meta{angle}, measured anti-clockwise in degrees.
+% Applies a rotation by the \meta{angle}, measured anti-clockwise in degrees.
% This rotation is \emph{additional} to any prevailing transformation.
% This assignment is local.
% \end{function}
@@ -935,7 +934,6 @@
%
% \begin{function}
% {
-% \draw_transform_shift:n,
% \draw_transform_xshift:n,
% \draw_transform_yshift:n
% }
@@ -943,9 +941,8 @@
% \cs{draw_transform_shift:n} \Arg{vector}
% \cs{draw_transform_xshift:n} \Arg{xshift}
% \end{syntax}
-% Applies a shift of the \meta{vector} in $(x, y)$ or an \meta{xshift} or
-% \meta{yshift}, as appropriate. This shift is \emph{added} to any prevailing
-% transformation.
+% Applies an \meta{xshift} or \meta{yshift}, as appropriate. This shift is
+% \emph{added} to any prevailing one.
% This assignment is local.
% \end{function}
%
@@ -962,29 +959,23 @@
% This assignment is local.
% \end{function}
%
-% \begin{function}{\draw_transform_invert:}
-% \begin{syntax}
-% \cs{draw_transform_invert:}
-% \end{syntax}
-% Inverts the current transformation matrix and reverses the current
-% shift vector.
-% This assignment is local.
-% \end{function}
-%
-% \begin{function}{\draw_transform_reset:}
+% \begin{function}
+% {\draw_transform_matrix_invert:, \draw_transform_shift_invert:}
% \begin{syntax}
-% \cs{draw_transform_reset:}
+% \cs{draw_transform_matrix_invert:}
% \end{syntax}
-% Resets all transformation operations.
+% Inverts the current transformation matrix or shift vector, as
+% appropriate.
% This assignment is local.
% \end{function}
%
-% \begin{function}{\draw_transform_reset_retain_shift:}
+% \begin{function}
+% {\draw_transform_matrix_reset, \draw_transform_shift_reset:}
% \begin{syntax}
-% \cs{draw_transform_reset_retain_shift:}
+% \cs{draw_transform_matrix_reset:}
% \end{syntax}
-% Resets rotations, scalings and slants, but retains any shifts which
-% are active.
+% Resets the current transformation matrix or shift vector, as
+% appropriate.
% This assignment is local.
% \end{function}
%
diff --git a/l3experimental/l3draw/testfiles/m3draw000.tlg b/l3experimental/l3draw/testfiles/m3draw000.tlg
index c3b709a..4482f38 100644
--- a/l3experimental/l3draw/testfiles/m3draw000.tlg
+++ b/l3experimental/l3draw/testfiles/m3draw000.tlg
@@ -46,6 +46,6 @@ Author: Joseph Wright
\g__draw_linewidth_dim=\dimen...
\g__draw_inner_linewidth_dim=\dimen...
\l_draw_default_linewidth_dim=\dimen...
-\l__draw_transformcm_xshift_dim=\dimen...
-\l__draw_transformcm_yshift_dim=\dimen...
+\l__draw_xshift_dim=\dimen...
+\l__draw_yshift_dim=\dimen...
)
diff --git a/l3experimental/l3draw/testfiles/m3draw002.lvt b/l3experimental/l3draw/testfiles/m3draw002.lvt
index f3bc422..1013a81 100644
--- a/l3experimental/l3draw/testfiles/m3draw002.lvt
+++ b/l3experimental/l3draw/testfiles/m3draw002.lvt
@@ -17,21 +17,19 @@
\START
-\TEST { \draw_transform:nnnnn }
+\TEST { \draw_transform_matrix:nnnn }
{
\exp_args:Nx \tl_show:n { \draw_point_transform:n { 1 , 1 } }
- \draw_transform:nnnnn { 1 } { 1 } { 1 } { 1 } { 0pt , 0pt }
+ \draw_transform_matrix:nnnn { 1 } { 1 } { 1 } { 1 }
\exp_args:Nx \tl_show:n { \draw_point_transform:n { 1 ,1 } }
- \draw_transform:nnnnn { 1 } { 0 } { 0 } { 1 } { 10pt , -10pt }
- \exp_args:Nx \tl_show:n { \draw_point_transform:n { 1 , 1 } }
}
-\TEST { \draw_transform_concat:nnnnn }
+\TEST { \draw_transform_matrix_concat:nnnnn }
{
\exp_args:Nx \tl_show:n { \draw_point_transform:n { 1 , 1 } }
- \draw_transform_concat:nnnnn { 1 } { 1 } { 1 } { 1 } { 0pt , 0pt }
+ \draw_transform_matrix_concat:nnnn { 1 } { 1 } { 1 } { 1 }
\exp_args:Nx \tl_show:n { \draw_point_transform:n { ( 1 , 1 ) } }
- \draw_transform_concat:nnnnn { 1 } { 0 } { 0 } { 1 } { 10pt , -10pt }
+ \draw_transform_matrix_concat:nnnn { 2 } { 0 } { 0 } { 1 }
\exp_args:Nx \tl_show:n { \draw_point_transform:n { 1 , 1 } }
}
@@ -81,26 +79,26 @@
\exp_args:Nx \tl_show:n { \draw_point_transform:n { ( 1 , 1 ) } }
}
-\TEST { \draw_transform_invert: }
+\TEST { \draw_transform_matrix_invert: }
{
- \draw_transform:nnnnn { 1 } { 0 } { 1 } { 1 } { 10pt , 0pt }
+ \draw_transform_matrix:nnnn { 1 } { 0 } { 1 } { 1 }
\tl_set:Nx \l_tmpa_tl { \draw_point_transform:n { 1 , 1 } }
\tl_show:N \l_tmpa_tl
- \draw_transform_invert:
+ \draw_transform_matrix_invert:
\exp_args:Nx \tl_show:n { \draw_point_transform:n { \l_tmpa_tl } }
}
-\TEST { \draw_transform_reset: }
+\TEST { \draw_transform_matrix_reset: }
{
- \draw_transform:nnnnn { 1 } { 0 } { 1 } { 1 } { 10pt , 0pt }
- \draw_transform_reset:
+ \draw_transform_matrix:nnnn { 1 } { 0 } { 1 } { 1 }
+ \draw_transform_matrix_reset:
\exp_args:Nx \tl_show:n { \draw_point_transform:n { 1 , 1 } }
}
-\TEST { \draw_transform_reset_retain_shift: }
+\TEST { \draw_transform_shift_reset: }
{
- \draw_transform:nnnnn { 1 } { 0 } { 1 } { 1 } { 10pt , 0pt }
- \draw_transform_reset_retain_shift:
+ \draw_transform_shift:n { 10pt , 0pt }
+ \draw_transform_shift_reset:
\exp_args:Nx \tl_show:n { \draw_point_transform:n { 1 , 1 } }
}
diff --git a/l3experimental/l3draw/testfiles/m3draw002.tlg b/l3experimental/l3draw/testfiles/m3draw002.tlg
index 5d2bb63..aaa5eb2 100644
--- a/l3experimental/l3draw/testfiles/m3draw002.tlg
+++ b/l3experimental/l3draw/testfiles/m3draw002.tlg
@@ -1,7 +1,7 @@
This is a generated file for the LaTeX (2e + expl3) validation system.
Don't change this file in any respect.
============================================================
-TEST 1: \draw_transform:nnnnn
+TEST 1: \draw_transform_matrix:nnnn
============================================================
> 1pt,1pt.
<recently read> }
@@ -9,12 +9,9 @@ l. ... }
> 2pt,2pt.
<recently read> }
l. ... }
-> 11pt,-9pt.
-<recently read> }
-l. ... }
============================================================
============================================================
-TEST 2: \draw_transform_concat:nnnnn
+TEST 2: \draw_transform_matrix_concat:nnnnn
============================================================
> 1pt,1pt.
<recently read> }
@@ -22,7 +19,7 @@ l. ... }
> 2pt,2pt.
<recently read> }
l. ... }
-> 2pt,2pt.
+> 3pt,3pt.
<recently read> }
l. ... }
============================================================
@@ -92,9 +89,9 @@ l. ... }
l. ... }
============================================================
============================================================
-TEST 8: \draw_transform_invert:
+TEST 8: \draw_transform_matrix_invert:
============================================================
-> \l_tmpa_tl=12pt,1pt.
+> \l_tmpa_tl=2pt,1pt.
<recently read> }
l. ... }
> 1pt,1pt.
@@ -102,16 +99,16 @@ l. ... }
l. ... }
============================================================
============================================================
-TEST 9: \draw_transform_reset:
+TEST 9: \draw_transform_matrix_reset:
============================================================
> 1pt,1pt.
<recently read> }
l. ... }
============================================================
============================================================
-TEST 10: \draw_transform_reset_retain_shift:
+TEST 10: \draw_transform_shift_reset:
============================================================
-> 11pt,1pt.
+> 1pt,1pt.
<recently read> }
l. ... }
============================================================
diff --git a/l3experimental/l3draw/testfiles/m3draw003.lvt b/l3experimental/l3draw/testfiles/m3draw003.lvt
index 5df6dd6..c9f48b3 100644
--- a/l3experimental/l3draw/testfiles/m3draw003.lvt
+++ b/l3experimental/l3draw/testfiles/m3draw003.lvt
@@ -217,7 +217,8 @@
\test:n
{
\draw_path_canvas_moveto:n { 10pt , 10pt }
- \draw_transform:nnnnn { 2 } { 1 } { 0 } { 1 } { 10 , 10 }
+ \draw_transform_matrix:nnnn { 2 } { 1 } { 0 } { 1 }
+ \draw_transform_shift:n { 10 , 10 }
\draw_path_canvas_moveto:n { 10pt , 10pt }
}
}
@@ -227,7 +228,8 @@
\test:n
{
\draw_path_canvas_lineto:n { 10pt , 10pt }
- \draw_transform:nnnnn { 2 } { 1 } { 0 } { 1 } { 10 , 10 }
+ \draw_transform_matrix:nnnn { 2 } { 1 } { 0 } { 1 }
+ \draw_transform_shift:n { 10 , 10 }
\draw_path_canvas_lineto:n { 10pt , 10pt }
}
}
@@ -240,7 +242,8 @@
{ \draw_point_vec:nn { 0 } { 1 } }
{ \draw_point_vec:nn { 1 } { 1 } }
{ \draw_point_vec:nn { 1 } { 2 } }
- \draw_transform:nnnnn { 2 } { 1 } { 0 } { 1 } { 10 , 10 }
+ \draw_transform_matrix:nnnn { 2 } { 1 } { 0 } { 1 }
+ \draw_transform_shift:n { 10 , 10 }
\draw_path_canvas_curveto:nnn
{ \draw_point_vec:nn { 0 } { 1 } }
{ \draw_point_vec:nn { 1 } { 1 } }
More information about the latex3-commits
mailing list