summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-02-23 00:49:54 +0000
committerKarl Berry <karl@freefriends.org>2008-02-23 00:49:54 +0000
commit4fc1af1461e934c39f8f5e10d5d8788681d82223 (patch)
tree7716e8a3e8787a3d11c5ce728d21b808f786ce7d /Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
parent6f5a4edf390b6e05291d7a4b816782b14122a205 (diff)
tikz/pgf 2.0 first attempt (22feb08)
git-svn-id: svn://tug.org/texlive/trunk@6741 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex')
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex866
1 files changed, 0 insertions, 866 deletions
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
deleted file mode 100644
index 37d370990ba..00000000000
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
+++ /dev/null
@@ -1,866 +0,0 @@
-% Copyright 2006 by Till Tantau
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-%
-% See the file doc/generic/pgf/licenses/LICENSE for more details.
-
-\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/systemlayer/pgfsys.code.tex,v 1.24 2007/06/07 07:41:11 tantau Exp $
-
-
-%
-% The following conversion functions are used to convert from TeX
-% dimensions to postscript/pdf points.
-%
-{\catcode`\p=12\catcode`\t=12\gdef\Pgf@geT#1pt{#1}}
-
-\def\pgf@sys@tonumber#1{\expandafter\Pgf@geT\the#1}
-
-\def\pgf@sys@bp@correct#1{#1=0.99627#1}
-
-\def\pgf@sys@bp#1{%
- {%
- \pgf@x=#1\relax%
- \pgf@x=0.99627\pgf@x%
- \edef\temp{\expandafter\Pgf@geT\the\pgf@x\space}%
- \toks@\expandafter\expandafter\expandafter{\expandafter\pgfsysprotocol@currentprotocol\temp}%
- \xdef\pgfsysprotocol@currentprotocol{\the\toks@}%
- }%
-}
-\def\pgf@sys@pt#1{%
- {%
- \pgf@x=#1\relax%
- \edef\temp{\expandafter\Pgf@geT\the\pgf@x\space}%
- \toks@\expandafter\expandafter\expandafter{\expandafter\pgfsysprotocol@currentprotocol\temp}%
- \xdef\pgfsysprotocol@currentprotocol{\the\toks@}%
- }%
-}
-
-
-% internal dimensions that are always present when pgsys is loaded.
-\newdimen\pgf@x
-\newdimen\pgf@y
-\newdimen\pgf@xa
-\newdimen\pgf@ya
-\newdimen\pgf@xb
-\newdimen\pgf@yb
-\newdimen\pgf@xc
-\newdimen\pgf@yc
-
-% internal counters that are alwyas present when pgfsys is loaded
-\newcount\c@pgf@counta
-\newcount\c@pgf@countb
-\newcount\c@pgf@countc
-\newcount\c@pgf@countd
-
-
-% The following \if decides, whether even-odd filling and clipping is
-% to be used or normal the non-zero winding number rule. See the
-% pdf-documentation for details on what these rules are.
-
-\newif\ifpgfsys@eorule
-
-
-
-% In the following dummy definitions of the pgf system commands are
-% given. The individual drivers must overwrite these definitions,
-% preferably all of them. If some system command is used that has not
-% been overwritten, the command fails with a warning.
-%
-% In some cases, some pgf system commands are just shorthands for a
-% series of more complicated commands. In this case, a default
-% implementation is given in this file, but a driver may choose to
-% overwrite this default implementation with a more effecient
-% version. For example, a closestroke is the same as a closepath
-% followed by a stroking, but in pdf there is a special shorthand for
-% this. So, the pdf driver overwrites \pgfsys@closestroke, while the
-% postscript driver does not.
-%
-% The commands for which default implementations are available are
-% given at the end.
-
-\def\pgf@sys@fail#1{%
- \expandafter\ifx\csname pgf@sys@fail@#1\endcsname\pgfutil@empty%
- \else%
- \expandafter\global\expandafter\let\csname pgf@sys@fail@#1\endcsname=\pgfutil@empty%
- \PackageWarning{pgf}{%
- Your graphic driver \pgfsysdriver\space does not supported #1. This warning is given only once}%
- \fi%
-}
-
-
-
-\def\pgfsys@invoke{\pgf@sys@fail{invoking specials}}
-% This command is used whenever some literal text needs to be inserted
-% into the resulting .pdf, .ps, or .dvi file. Note that most
-% \pgfsys@xxxx commands will not directly call this command, but,
-% rather, use the protocolling mechanism to record their literal
-% text. It is then left to the discretion of the protocolling
-% mechansim to insert the literal text at some appropriate, later
-% time.
-%
-% This command should only be called when \pgfsys@beginpicture has
-% been called previously and when the picture has not been suspended
-% using \pgfsys@beginhbox.
-
-
-\def\pgfsys@outerinvoke{\pgfsys@invoke}
-% This command can be used to insert protocolled graphic commands
-% outside any picture. This is extremely dangerous, but sometimes
-% useful. By default, this command does the same as inside pictures.
-
-
-
-%
-%
-% Path construction commands
-%
-%
-
-\def\pgfsys@moveto#1#2{\pgf@sys@fail{path constructions}}
-% This command is used to start a path at a specific point (#1bp,#2bp)
-% or to move the current point of the current path to (#1bp,#2bp)
-% without drawing anything upon stroking (the current path is
-% `interrupted').
-%
-% Here (and in the following) the coordinates are in TeX's big points
-% (bp), unless the coordinate system has been scaled. A big point is
-% 1/72 inches. Note that TeX's point pt is 1/72.27 inches.
-%
-% Example:
-%
-% \pgfsys@moveto{10}{10}
-% \pgfsys@lineto{0}{0}
-% \pgfsys@stroke
-%
-% This will draw a line from (10bp,10bp) to the origin of the picture.
-
-\def\pgfsys@lineto#1#2{\pgf@sys@fail{path constructions}}
-% Continue the current path to (#1bp,#2bp) with a line.
-
-\def\pgfsys@curveto#1#2#3#4#5#6{\pgf@sys@fail{path constructions}}
-% Continue the current path with a bezier curver to (#5bp,#6bp). The
-% control points of the curve are at (#1bp,#2bp) and (#3bp,#4bp).
-
-\def\pgfsys@rect#1#2#3#4{\pgf@sys@fail{path constructions}}
-% Append a rectangle to the current path whose lower left corner is at
-% (#1bp,#2bp) and whose width/height is given by (#3bp,#4bp).
-%
-% This command can be `mapped back' to moveto and lineto commands, but
-% it is included since pdf has a special, quick version of this command.
-
-\def\pgfsys@closepath{\pgf@sys@fail{path constructions}}
-% Close the current path. This results in joining the current point of
-% the path with the point specified by the last moveto
-% operation. Typically, this is preferable over using lineto to the
-% last point specified by a moveto, since the line starting at this
-% point and the line ending at this point will be smoothly joined by
-% closepath.
-%
-% Example:
-%
-% \pgfsys@moveto{0}{0}
-% \pgfsys@lineto{10}{10}
-% \pgfsys@lineto{0}{10}
-% \pgfsys@closepath
-% \pgfsys@stroke
-%
-% versus
-%
-% \pgfsys@moveto{0}{0}
-% \pgfsys@lineto{10}{10}
-% \pgfsys@lineto{0}{10}
-% \pgfsys@lineto{0}{0}
-% \pgfsys@stroke
-%
-% The difference between the above will be that in the second triangle
-% the corner at the origin will be wrong; it will just be the overlay
-% of two lines going in different directions, not a sharp pointed
-% corner.
-
-
-
-
-
-
-%
-%
-% Stroking and filling commands
-%
-%
-
-\def\pgfsys@stroke{\pgf@sys@fail{path usage}}
-% Stroke the current path (as if it were drawn with a pen). A number
-% of so-called graphic state parameters influence this, which can be
-% set in different ways:
-%
-% - linewidth
-% The `thickness' of the line. A width of 0 is the thinnest width
-% renderable on the device. On a high-resolution printer this may
-% become invisible and should be avoided. A good choice is 0.4pt,
-% which is the default.
-%
-% - stroke color
-% This special color is used for stroking. If it is not set, the
-% current color is used.
-%
-% - cap
-% The cap describes how the endings of lines a drawn. A round cap
-% adds a little half circle to these endings. A butt cap ends the
-% lines exactly at the end (or start) point without anything
-% added. A rectangular cap ends the lines like the butt cap, but the
-% lines protrude over the endpoint by the line thickness. (See also
-% the pdf or postscript manual). If the path has been closed, no cap
-% is drawn.
-%
-% - join
-% This describes how a bend (a join) in a path is rendered. A round
-% join draws bends using small arcs. A bevel join just draws the two
-% lines and then fills the join minimally so that it becomes
-% convex. A miter join extends the lines so that they form a single
-% sharp corner, but only up to a certain miter limit. (See the pdf
-% or postscript manual once more).
-%
-% - dash
-% The line may be dashed according to a dashing pattern.
-%
-% - clipping area
-% If a clipping area is established, only those parts of the path
-% that are inside the clipping area will be drawn.
-%
-% In addition to stroking a path, the path may also be used for
-% clipping after it has been stroked. This will happen if the
-% \pgfsys@clipnext is used prior to this command, see there for
-% details.
-
-\def\pgfsys@fill{\pgf@sys@fail{path usage}}
-% This command fills the area surrounded by the current path. If the
-% path has not yet been closed, it is closed prior to filling. The
-% path itself is not stroked. For self-intersecting paths or paths
-% consisting of multiple parts, the nonzero winding number rule is
-% used to determine whether a point is inside or outside the
-% path, except if \ifpgfsys@eorule holds -- in which case the even-odd
-% rule should be used. (See the pdf or postscript manual for details.)
-%
-% The following graphic state parameters influence the filling:
-%
-% - fill color
-% If the fill color is not especially set, the current color is
-% used.
-%
-% - clipping area
-% If a clipping area is established, only those parts of the filling
-% area that are inside the clipping area will be drawn.
-%
-% In addition to filling the path, the path will also be used for
-% clipping if \pgfsys@clipnext is used prior to this command.
-
-\def\pgfsys@fillstroke{\pgf@sys@fail{path usage}}
-% First, the path is filled, then the path is stroked. If the fill and
-% stroke colors are the same (or if they are not specified and the
-% current color is used), this yields almost the same as a
-% \pgfsys@fill. However, due to the line thickness of the stroked
-% path, the fillstroked area will be slightly larger.
-%
-% In addition to stroking and filling the path, the path will also be
-% used for clipping if \pgfsys@clipnext is used prior to this command.
-
-\def\pgfsys@clipnext{\pgf@sys@fail{path usage}}
-% This command should be issued after a path has been constructed, but
-% before it has been stroked and/or filled or discarded. When the
-% command is used, the next stroking/filling/discarding command will
-% first be executed normally. Then, afterwards, the just-used path
-% will be used for subsequent clipping. If there has already been a
-% clipping region, this region is intersected with the new clipping
-% path (the clipping cannot get bigger). The nonzero winding number
-% rule is used to determine whether a point is inside or outside the
-% clipping area or the even-odd rule, depending on whether
-% \ifpgfsys@eorule holds.
-
-\def\pgfsys@discardpath{\pgf@sys@fail{path usage}}
-% Normally, this command should `throw away' the current path.
-% However, after \pgfsys@clipnext has been called, the current path
-% should subsequently be used for clipping. See \pgfsys@clipnext for
-% details.
-
-
-
-
-
-%
-%
-% Stroking options
-%
-%
-\def\pgfsys@setlinewidth#1{\pgf@sys@fail{setting the line width}}
-% Sets the width of lines, when stroked, to #1bp.
-
-\def\pgfsys@buttcap{\pgf@sys@fail{setting the line cap}}
-% Sets the cap to a butt cap. See \pgfsys@stroke.
-
-\def\pgfsys@roundcap{\pgf@sys@fail{setting the line cap}}
-% Sets the cap to a round cap. See \pgfsys@stroke.
-
-\def\pgfsys@rectcap{\pgf@sys@fail{setting the line cap}}
-% Sets the cap to a rectangular cap. See \pgfsys@stroke.
-
-\def\pgfsys@miterjoin{\pgf@sys@fail{setting the line join}}
-% Sets the join to a miter join. See \pgfsys@stroke.
-
-\def\pgfsys@setmiterlimit#1{\pgf@sys@fail{setting the line cap}}
-% Sets the miter limit of lines to #1. See the pdf or postscript
-% documentation.
-
-\def\pgfsys@roundjoin{\pgf@sys@fail{setting the line cap}}
-% Sets the join to a round join. See \pgfsys@stroke.
-
-\def\pgfsys@beveljoin{\pgf@sys@fail{setting the line cap}}
-% Sets the join to a bevel join. See \pgfsys@stroke.
-
-\def\pgfsys@setdash#1#2{\pgf@sys@fail{setting the dashing pattern}}
-% Sets the dashing patter. #1 should be a list of lengths given in big
-% points (bp) separated by spaces. #2 should be a single value given
-% in bp.
-%
-% The list of values in #1 is used to determine the lengths of the
-% `on' phases of the dashing and of the `off' phases. For example, if
-% #1 is `3 4', then the dashing pattern is `3bp on followed by 4bp
-% off, followed by 3bp on, followed by 4bp off, and so on'. A pattern
-% of `.5 4 3 1.5' means `.5bp on, 4bp off, 3bp on, 1.5bp off, .5bp on,
-% ...'. If the number of entries is odd, the last one is used twice,
-% so `3' means `3bp on, 3bp off, 3bp on, 3bp off,...'. An empty list
-% means `always on'.
-%
-% The second argument determines the `phase' of the pattern. For
-% example, for a pattern of `3 4' and a phase of `1', the pattern
-% would start: `2bp on, 4bp off, 3bp on, 4bp off, 3bp on, 4bp off...'.
-
-
-
-
-%
-%
-% Opacity stuff
-%
-%
-
-\def\pgfsys@stroke@opacity#1{\pgf@sys@fail{opacity}}
-% Sets the opacity of stroking operations. 1 means fully opaque, 0
-% means fully transparent.
-
-\def\pgfsys@fill@opacity#1{\pgf@sys@fail{opacity}}
-% Sets the opacity of filling operations. 1 means fully opaque, 0
-% means fully transparent.
-
-
-
-
-%
-%
-% Color stuff
-%
-%
-
-\def\pgfsys@color@rgb@stroke#1#2#3{\pgf@sys@fail{color}}
-% Sets the color used for stroking operations to the given rgb tuple
-% (numbers between 0 and 1).
-%
-% Example: Make stroked text dark red: \pgfsys@color@rgb@stroke{0.5}{0}{0}
-%
-% The special stroking color is only used if the stroking color has
-% been set since the last \pgfutil@color command. Thus, each \pgfutil@color command
-% should reset both the stroking and filling colors.
-
-\def\pgfsys@color@rgb@fill#1#2#3{\pgf@sys@fail{color}}
-% Sets the color used for filling operations to the given rgb tuple
-% (numbers between 0 and 1). This color may be different from the
-% stroking color.
-
-\def\pgfsys@color@rgb#1#2#3{\pgfsys@color@rgb@stroke{#1}{#2}{#3}\pgfsys@color@rgb@fill{#1}{#2}{#3}}
-% Sets the color used for filling and stroking operations. This is a
-% ``low-level'' version of the \pgfutil@color command. It is currently only
-% used by the plain tex version to support colors.
-
-\def\pgfsys@color@cmyk@stroke#1#2#3#4{\pgf@sys@fail{color}}
-% Sets the color used for stroking operations to the given cymk tuple
-% (numbers between 0 and 1).
-
-\def\pgfsys@color@cmyk@fill#1#2#3#4{\pgf@sys@fail{color}}
-% Sets the color used for filling operations to the given cymk tuple
-% (numbers between 0 and 1).
-
-\def\pgfsys@color@cmyk#1#2#3#4{\pgfsys@color@cmyk@stroke{#1}{#2}{#3}{#4}\pgfsys@color@cmyk@fill{#1}{#2}{#3}{#4}}
-% Sets the color used for filling and stroking operations.
-
-\def\pgfsys@color@cmy@stroke#1#2#3{\pgf@sys@fail{color}}
-% Sets the color used for stroking operations to the given cym tuple
-% (numbers between 0 and 1).
-
-\def\pgfsys@color@cmy@fill#1#2#3{\pgf@sys@fail{color}}
-% Sets the color used for filling operations to the given cym tuple
-% (numbers between 0 and 1).
-
-\def\pgfsys@color@cmy#1#2#3{\pgfsys@color@cmy@stroke{#1}{#2}{#3}\pgfsys@color@cmy@fill{#1}{#2}{#3}}
-% Sets the color used for filling and stroking operations.
-
-\def\pgfsys@color@gray@stroke#1{\pgf@sys@fail{color}}
-% Sets the color used for stroking operations to the given gray level
-% (number between 0 and 1).
-
-\def\pgfsys@color@gray@fill#1{\pgf@sys@fail{color}}
-% Sets the color used for filling operations to the given gray level
-% (number between 0 and 1).
-
-\def\pgfsys@color@gray#1{\pgfsys@color@gray@stroke{#1}\pgfsys@color@gray@fill{#1}}
-% Sets the color used for filling and stroking operations.
-
-\newif\ifpgfsys@color@reset@inorder
-% This if decides whether the color resetting of the
-% \pgfsys@color@reset command may assume that all color commands are
-% given ``in order.'' This means that this command will not be called,
-% say, at the beginning of a box that is later inserted at a point
-% where a fill color was actively set. This may allow the command to
-% produce more compact code when it ``knows'' that no special fill or
-% stroke color has been set.
-\pgfsys@color@reset@inordertrue
-
-
-\def\pgfsys@color@reset{}
-% This command will be called when the \pgfutil@color command is used. It
-% should purge any internal settings of stroking and filling
-% color. After this call, till the next use of a command like
-% \pgfsys@color@rgb@fill, the current color installed by the \pgfutil@color
-% command should be used.
-
-\def\pgfsys@color@unstacked#1{}
-% This slightly obscure command causes the color stack to be
-% tricked. When called, this command should set the current color to
-% #1 without causing any change in the color stack.
-
-
-
-%
-%
-% Coordinate system transformations
-%
-%
-
-\def\pgfsys@transformcm#1#2#3#4#5#6{\pgf@sys@fail{transformations}}
-% Perform a concatenation of the low-level current transformation
-% matrix with the matrix given by the values #1 to #6. The
-% transformation matrix is a transformation on a homogeneous
-% 2D-coordinate system. See the pdf or postscript manual for details.
-
-
-
-
-%
-%
-% Graphic state saving and restoring.
-%
-%
-
-\def\pgfsys@beginscope{\pgf@sys@fail{scoping}}
-% Saves the current graphic state on a graphic state stack. All
-% changes to the graphic state parameters mentioned for \pgfsys@stroke
-% and \pgfsys@fill will be local to the current graphic state and will
-% the old values will be restored after endscope is used.
-%
-% WARNING: pdf and postscript differ with respect to the question of
-% whether the current path is part of the graphic state or not. For
-% this reason, you should never use this command unless the path is
-% currently empty. For example, it might be a good idea to use
-% discardpath prior to calling this command.
-
-\def\pgfsys@endscope{\pgf@sys@fail{scoping}}
-% Restores the last saved graphic state.
-
-
-
-
-%
-%
-% Special commands
-%
-%
-
-\def\pgfsys@imagesuffixlist{}
-% A list of suffixes, separated by `:', that will be tried when
-% searching for an image.
-
-
-
-%
-%
-% Special commands
-%
-%
-
-
-\def\pgfsys@definemask{\pgf@sys@fail{masking}}
-% This command declares a mask for usage with images. It works similar
-% to \pgfsys@defineimage: Certain macros are set when the command is
-% called. The result should be to set the macro \pgf@mask to a pdf
-% object count that can subsequently be used as a soft mask. The
-% following macros will be set when this command is invoked:
-%
-% - \pgf@filename
-% File name of the mask to be defined.
-%
-% - \pgf@maskmatte
-% The so-called matte of the mask (see the pdf documentation for
-% details). The matte is a color specification consisting of 1, 3 or
-% 4 numbers between 0 and 1. The number of numbers depends on the
-% number of color channels in the image (not in the mask!). It will
-% be assumed that the image has been preblended with this color.
-
-
-
-
-%
-%
-% Shading commands
-%
-%
-
-\def\pgfsys@horishading#1#2#3{\pgf@sys@fail{shadings}}
-% Declares a horizontal shading for later use. The effect of this
-% command should be the definition of a macro called `@pgfshading#1!'
-% (or \csname @pdfshading#1!\endcsname, to be precise). When invoked,
-% this new macro should insert a shading at the current position.
-%
-% #1 is the name of the shading, which is also used in the output
-% macro name. #2 is the height of the shading and must be given as a
-% TeX dimension like `2cm' or `10pt'. #3 is a shading color
-% specification as specified in the pgfuserguide. The shading
-% specification implicitly fixes the width of the shading.
-%
-% When `@pgfshading#1!' is invoked, it should insert a box of height
-% #2 and the width implicit in the shading declaration.
-
-\def\pgfsys@vertshading#1#2#3{\pgf@sys@fail{shadings}}
-% Like horishading, only for vertical shadings. This time, the height
-% of the shading is implicit in #3 and the width is given as #2.
-
-\def\pgfsys@radialshading#1#2#3{\pgf@sys@fail{shadings}}
-% Declares a radial shading. Like the previous macros, this command
-% should setup the macro `@pgfshading#1!', which upon invocation
-% should insert a radial shading whose size is implicit in #3.
-%
-% The parameter #2 is a pgf point specification if the starting point
-% of the shading. See the pgfuserguide for details.
-
-
-
-
-
-%
-%
-% Pattern stuff
-%
-%
-
-\def\pgfsys@declarepattern#1#2#3#4#5#6#7#8#9{\pgf@sys@fail{patterns}}
-% This command declares a new colored or uncolored pattern. Uncolored
-% patterns have no inherent color, the color is provided when they are
-% set. Colored patters have an inherent color.
-% #1 = name of the pattern (must be a plain suffix for use in
-% postscript/pdf/etc.)
-% #2 to #5 = four coordinates describing the corners of a bounding box
-% of pattern cells
-% #6 = x-step
-% #7 = y-step
-% #8 = pattern code
-% #9 = 0 if uncolored patter, 1 if colored pattern.
-
-\def\pgfsys@setpatternuncolored#1#2#3#4{\pgf@sys@fail{patterns}}
-% Sets an uncolored pattern #1 as filling color. The numbers #2, #3,
-% #4 must be an rgb-value to be used as the color of the pattern.
-
-\def\pgfsys@setpatterncolored#1{\pgf@sys@fail{patterns}}
-% Sets an colored pattern #1 as filling color.
-
-
-%
-%
-% Page size stuff
-%
-%
-\def\pgfsys@papersize#1#2{\pgf@sys@fail{papersize}}
-% This command sets the paper size in a portable way.
-% #1 = width
-% #2 = height
-
-
-
-%
-%
-% Position tracking commands
-%
-%
-
-% Marks the current position on the page. This position can later be
-% referenced using \pgfsys@getposition
-\def\pgfsys@markposition#1{\pgf@sys@fail{marking the current position}}
-
-% Sets #2 to a pgfpoint macro that returns the position #1 is
-% returned in a coordinate system where the x-axis goes right and the
-% y-axis goes up. The origin of this coordinate system may or may not
-% lie in the lower left corner; you should shift the coordinate system
-% to the position "pgfpageorigin" to make sure that the origin is at
-% the lower left corner. Typically, getting this position
-% requires two runs of TeX. On the first run, the macro will be set to
-% \relax, indicating that the position is not available.
-%
-% If #1 is set to the special position "pgfpageorigin", the position
-% of the the lower left page corner is returned.
-
-\def\pgfsys@getposition#1#2{\let#2=\relax}
-
-
-
-%
-%
-% Commands having a default implementation. These commands only need
-% not be implemented by drivers if this results in a better
-% preformance.
-%
-%
-
-
-\def\pgfsys@shadingoutsidepgfpicture#1{%
- #1%
-}
-% This command gets the definition of a shading (@pgfshadingxxxx!) as
-% an argument and should insert this shading into the normal text.
-%
-% This command has a default implementation.
-
-
-\def\pgfsys@shadinginsidepgfpicture#1{%
- \pgf@makehbox{#1}%
- \setbox\pgf@hbox=\hbox{\hskip-.5\wd\pgf@hbox\lower.5\ht\pgf@hbox\hbox{\box\pgf@hbox}}%
- \pgfqbox{\pgf@hbox}%
-}
-% This command works like \pgfsys@shadingoutsidepgfpicture, only it is
-% called when a shading should be inserted inside a picture. This
-% command should insert the shading centered on the origin (which will
-% typically have been low-level translated somewhere else.)
-%
-% This command has a default implementation.
-
-
-
-
-
-\def\pgfsys@closestroke{\pgfsys@closepath\pgfsys@stroke}
-% This command should have the same effect as first closing the path
-% and then stroking it.
-
-
-\def\pgfsys@transformshift#1#2{\pgfsys@transformcm{1}{0}{0}{1}{#1}{#2}}
-% This command will change the origin of the low-level coordinate
-% system to (#1bp,#2bp).
-
-\def\pgfsys@transformxyscale#1#2{\pgfsys@transformcm{#1}{0}{0}{#2}{0bp}{0bp}}
-% This command will scale the low-level coordinate system (and
-% everything that is drawn) by a factor of #1 in x-directed and #2 in
-% y-direction. Note that this applies to everything, including
-% lines. So a scaled line will have a different width and may even
-% have a different width when going along the x-axis and when going
-% along the y-axis, if the scaling is different in these directions.
-
-\def\pgfsys@hbox#1{%
- \pgfsys@beginscope%
- \setbox#1=\hbox{\box#1}%
- \wd#1=0pt%
- \ht#1=0pt%
- \dp#1=0pt%
- \box#1%
- \pgfsys@endscope%
-}
-% Called to insert a TeX hbox into a pgfpicture.
-
-\def\pgfsys@hboxsynced#1{%
- {\pgfsys@beginscope\pgflowlevelsynccm\pgfsys@hbox#1\pgfsys@endscope}%
-}
-% Called to insert a TeX hbox into a pgfpicture, but with the current
-% coordinate transformation matrix synced with the canvas
-% transformation matrix.
-%
-% In essence, this command does the same as if you first said
-% \pgflowlevelsynccm and then \pgfsys@hbox. However, a driver may
-% choose to use a ``TeX-translation'' for the translation part of the
-% transformation cm. This will ensure that hyperlinks ``survive'' at
-% least translations.
-
-\def\pgfsys@beginpicture{}
-% Called at the beginning of a pgfpicture. Used to setup things.
-
-\def\pgfsys@endpicture{}
-% Called at the end of a pgfpicture.
-
-\def\pgfsys@typesetpicturebox#1{%
- \pgfmathsetlength\pgf@x{\pgf@shift@baseline}%
- \advance\pgf@x by-\pgf@picminy\relax%
- \advance\pgf@picmaxy by-\pgf@picminy\relax% maxy is now the height
- \advance\pgf@picmaxx by-\pgf@picminx\relax% maxx is now the width
- \setbox#1=\hbox{\hskip-\pgf@picminx\lower\pgf@picminy\box#1}%
- \ht#1=\pgf@picmaxy%
- \wd#1=\pgf@picmaxx%
- \dp#1=0pt%
- \leavevmode\raise-\pgf@x\box#1%
-}
-% Called after a picture has been typeset in box #1. This
-% command should insert the box into the normal TeX code. The box #1
-% will still be a ``raw'' box that contains only the \special's. The
-% job of this command is to resize and shift this box according to the
-% baseline shift and the size of the box.
-%
-% This command has a default implementation.
-
-\def\pgfsys@beginpurepicture{\pgfsys@beginpicture}
-% This version of the beginpicture command can be used for pictures
-% that are guaranteed not to contain any hboxes. In this case, a
-% driver might provide a more compact version of the command.
-
-\def\pgfsys@endpurepicture{\pgfsys@endpicture}
-% Called at the end of a ``pure'' pgfpicture.
-
-\def\pgfsys@defineimage{%
- \ifx\pgf@imagewidth\pgfutil@empty\else\edef\pgf@imagewidth{width=\pgf@imagewidth,}\fi%
- \ifx\pgf@imageheight\pgfutil@empty\else\edef\pgf@imageheight{height=\pgf@imageheight,}\fi%
- \ifx\pgf@imagepage\pgfutil@empty\else\edef\pgf@imagepage{page=\pgf@imagepage,}\fi%
- \edef\pgf@image{\noexpand\includegraphics[\pgf@imageheight\pgf@imagewidth]{\pgf@filename}}%
-}
-% Called, when an image should be defined.
-%
-% This command does not take any parameters. Instead, certain macros
-% will be preinstalled with appropriate values when this command is
-% invoked. These are:
-%
-% - \pgf@filename
-% File name of the image to be defined.
-%
-% - \pgf@imagewidth
-% Will be set to the desired (scaled) width of the image.
-%
-% - \pgf@imageheight
-% Will be set to the desired (scaled) height of the image.
-%
-% If this macro and also the height macro are empty, the image
-% should have its `natural' size.
-%
-% If exactly only of them is specified, the undefined value the
-% image is scaled so that the aspect ratio is kept.
-%
-% If both are set, the image is scaled in both directions
-% independently, possibly changing the aspect ratio.
-%
-%
-% The following macros presumable mostly make sense for drivers that
-% can handle pdf:
-%
-% - \pgf@imagepage
-% The desired page number to be extracted from a multi-page
-% `image'.
-%
-% - \pgf@imagemask
-% If set, it will be set to `/SMask x 0 R', where x is the pdf
-% object number of a soft mask to be applied to the image.
-%
-% - \pgf@imageinterpolate
-% If set, it will be set to `/Interpolate true' or `/Interpolate
-% false', indicating whether the image should be interpolated in
-% pdf.
-%
-%
-% The command should now setup the macro \pgf@image such that calling
-% this macro will result in typesetting the image. Thus, \pgf@image is
-% the `return value' of the command.
-
-
-\def\pgfsys@defobject#1#2#3#4{%
- \pgfsysprotocol@getcurrentprotocol\pgfsys@temp%
- {%
- \pgfsysprotocol@setcurrentprotocol\pgfutil@empty%
- \pgfsysprotocol@bufferedtrue%
- #4%
- \pgfsysprotocol@getcurrentprotocol\pgfsys@@temp%
- \expandafter\global\expandafter\let\csname #1\endcsname=\pgfsys@@temp%
- }%
- \pgfsysprotocol@setcurrentprotocol\pgfsys@temp%
-}
-% Declares an object for later use. The idea is that the object can be
-% precached in some way and then be rendered more quickly when used
-% several times. For example, an arrow head might be defined and
-% prerendered in this way.
-%
-% The parameter #1 is the name for later use. #2 and #3 are pgf points
-% specifying a bounding box for the object. #4 is the code for the
-% object. The code may only contain protocollable code.
-
-
-\def\pgfsys@useobject#1#2{%
- \pgfsysprotocol@getcurrentprotocol\pgfsys@temp%
- {%
- \pgfsysprotocol@setcurrentprotocol\pgfutil@empty%
- \pgfsysprotocol@bufferedfalse%
- #2%
- \expandafter\pgfsysprotocol@setcurrentprotocol\csname #1\endcsname%
- \pgfsysprotocol@invokecurrentprotocol%
- }%
- \pgfsysprotocol@setcurrentprotocol\pgfsys@temp%
-}
-% Renders a previously declared object. The first parameter is the
-% name of the the object. The second parameter is extra code that
-% should be executed right *before* the object is rendered. Typically,
-% this will be some transformation code.
-
-
-\def\pgfsys@begininvisible{\pgfsys@transformcm{1}{0}{0}{1}{2000bp}{2000bp}}
-% Between this command and the closing endinvisible, all output should
-% be suppressed. Nothing should be drawn at all, which includes all
-% paths, images and shadings.
-
-\def\pgfsys@endinvisible{\pgfsys@transformcm{1}{0}{0}{1}{-2000bp}{-2000bp}}
-% Ends the invisibilty section, unless invisibility blocks have been
-% nested. In this case, only the `last' one restores visibility.
-
-
-\def\pgfsys@atbegindocument{}
-% This command will be executed at the begin of the document. If for
-% whatever reason this is not done, you may wish to execute this
-% command yourself. It will setup certain specials that need to be
-% inserted into the resulting .pdf/.ps/.xxx file.
-
-
-
-
-
-% Discern the driver:
-\input pgf.cfg
-
-\PackageInfo{pgfsys}{Driver file for pgf: \pgfsysdriver}
-\pgfutil@InputIfFileExists{\pgfsysdriver}{}{%
- \PackageError{pgfsys}{Driver file ``\pgfsysdriver'' not found.}{}}
-
-
-
-% This will insert always-present-specials at the beginning of the
-% code.
-\AtBeginDocument{
- \pgfsys@atbegindocument
- \let\pgfsys@atbegindocument=\pgfutil@empty
-}
-
-
-
-% Read aux file in plain and context mode:
-
-\pgfutil@aux@read@hook
-
-
-\endinput