summaryrefslogtreecommitdiff
path: root/graphics/pstricks/base/generic/pstricks-dots.tex
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pstricks/base/generic/pstricks-dots.tex')
-rw-r--r--graphics/pstricks/base/generic/pstricks-dots.tex228
1 files changed, 228 insertions, 0 deletions
diff --git a/graphics/pstricks/base/generic/pstricks-dots.tex b/graphics/pstricks/base/generic/pstricks-dots.tex
new file mode 100644
index 0000000000..67528a5853
--- /dev/null
+++ b/graphics/pstricks/base/generic/pstricks-dots.tex
@@ -0,0 +1,228 @@
+%% $Id: pstricks-dots.tex 262 2021-09-24 09:02:54Z herbert $
+%%
+%% This is file `pstricks-dots.tex',
+%%
+%% IMPORTANT NOTICE:
+%%
+%% Herbert Voss <hvoss@tug.org>
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%% DESCRIPTION:
+%% `pstricks-dots' base code for dots
+%%
+%% fileversion and filedate see main file pstricks.tex
+%%
+\define@key[psset]{pstricks}{dotsize}[2pt 2]{%
+ \pst@expandafter\pst@getdimnum{#1} 0 {} {}\@nil%
+ \edef\psk@@dotsize{\pst@number\pst@dimg}%
+ \let\psk@@@dotsize\pst@tempg%
+ \edef\psk@dotsize{ /DS \psk@@dotsize \psk@@@dotsize CLW mul add 2 div def }}
+\psset[pstricks]{dotsize=2pt 2}
+%
+\define@key[psset]{pstricks}{dotscale}[1]{%
+ \pst@getscale{#1}\psk@dotscale
+ \ifx\psk@dotscale\@empty
+ \def\psk@xdotscale{1 }%
+ \def\psk@ydotscale{1 }%
+ \else
+ \let\psk@xdotscale\pst@tempg
+ \let\psk@ydotscale\pst@temph
+ \fi}
+%
+\def\pst@Getangle#1#2{%
+ \pst@getangle{#1}\pst@tempg
+ \def\pst@temph{0. }%
+ \ifx\pst@tempg\pst@temph\def#2{}\else\edef#2{\pst@tempg\space rotate }\fi}
+%
+\define@key[psset]{pstricks}{dotangle}[0]{%
+ \pst@getangle{#1}\psk@@dotangle
+ \ifdim\psk@@dotangle\p@=\z@
+ \let\psk@dotangle\@empty
+ \else
+ \edef\psk@dotangle{\psk@@dotangle rotate }%
+ \fi}
+\psset[pstricks]{dotangle=0}
+%
+\def\pst@getdotsize{%
+\pst@dimg=\psk@@@dotsize\pslinewidth
+\advance\pst@dimg\psk@@dotsize\p@
+\pst@dimh=\psk@ydotscale\pst@dimg
+\pst@dimg=\psk@xdotscale\pst@dimg
+\divide\pst@dimh 2
+\divide\pst@dimg 2\relax}
+%
+\psset[pstricks]{dotscale=1}
+%
+\def\psdot{\pst@object{psdot}}
+\def\psdot@i{\@ifnextchar({\psdot@ii}{\psdot@ii(\z@,\z@)}}
+\def\psdot@ii(#1){%
+ \begin@SpecialObj%
+% hv modification 1.13 2005-11-28
+ \solid@star%
+% hv modification end
+ \pst@@getcoor{#1}%
+ \addto@pscode{
+ \psk@dotsize
+ \@nameuse{psds@\psk@dotstyle}
+ \tx@setStrokeTransparency
+ \pst@coor Dot}%
+ \end@SpecialObj}
+%
+\def\psdots{\pst@object{psdots}}
+\def\psdots@i{%
+ \begin@SpecialObj%
+ \pst@getcoors[\psdots@ii}
+\def\psdots@ii{%
+ \addto@pscode{ false \tx@NArray \psdots@iii }%
+ \end@SpecialObj}
+\def\psdots@iii{%
+ \psk@dotsize
+ \@nameuse{psds@\psk@dotstyle}
+ \tx@setStrokeTransparency
+ newpath
+ n { transform floor .5 add exch floor .5 add exch itransform Dot } repeat }
+%
+% DG: dead code (to suppress until \psset[pstricks]{dotstyle) ? - Aug. 4, 1997
+\def\tx@SQ{SQ }
+\def\tx@ST{ST }
+\def\tx@SP{SP }
+%
+\def\pst@gdot#1{ /Dot { gsave T \psk@dotangle \psk@dotscale #1 grestore } def }
+%
+\@namedef{psds@*}{\pst@gdot{ 0 0 DS \tx@SD }}
+\@namedef{psds@o}{%
+ /r2 DS CLW sub def
+ \pst@gdot{ 0 0 DS \tx@SD \pst@usecolor\psfillcolor SLW 0 0 r2 \tx@SD }}
+\@namedef{psds@square*}{ /r1 DS .886 mul def \pst@gdot{r1 \tx@SQ }}
+\@namedef{psds@square}{%
+ /r1 DS .886 mul def /r2 r1 CLW sub def
+ \pst@gdot{r1 \tx@SQ \pst@usecolor\psfillcolor r2 \tx@SQ}}
+\@namedef{psds@triangle*}{%
+ /y1 DS .778 mul neg def /x1 y1 1.732 mul neg def
+ \pst@gdot{x1 y1 \tx@ST}}
+\@namedef{psds@triangle}{%
+ /y1 DS .778 mul neg def /x1 y1 1.732 mul neg def
+ /y2 y1 CLW add def /x2 y2 1.732 mul neg def
+ \pst@gdot{x1 y1 \tx@ST x2 y2 \tx@ST}}
+\@namedef{psds@pentagon*}{%
+ /r1 DS 1.149 mul def
+ \pst@gdot{r1 \tx@SP}}
+\@namedef{psds@pentagon}{%
+ DS .93 mul dup 1.236 mul /r1 ED CLW sub 1.236 mul /r2 ED
+ \pst@gdot{r1 \tx@SP r2 \tx@SP}}
+\@namedef{psds@+}{%
+ /DS DS 1.253 mul def
+ \pst@gdot{DS 0 moveto DS neg 0 L stroke 0 DS moveto 0 DS neg L stroke}}
+\@namedef{psds@|}{%
+ \psk@tbarsize CLW mul add 2 div /DS ED
+ \pst@gdot{0 DS moveto 0 DS neg L stroke}}
+% DG: end dead code?
+%
+\define@key[psset]{pstricks}{dotstyle}[*]{%
+ \@ifundefined{psds@#1}%
+ {\@pstrickserr{Dot style `#1' not defined}\@eha}%
+ {\edef\psk@dotstyle{#1}}}
+%
+\psset[pstricks]{dotstyle=*}
+%
+\def\tx@FontDot{FontDot }
+
+\def\newpsfontdot#1[#2]#3#4{%
+ \@namedef{psds@#1}{%
+ /#3 \psk@@dotangle [#2] \tx@FontDot
+ /Dot { moveto gsave \psk@dotscale #4 show grestore } bind def
+}}
+\def\newpsfontdotH#1[#2]#3#4#5{% for filled objects
+ \@namedef{psds@#1}{%
+ /#3 \psk@@dotangle [#2] \tx@FontDot
+ /Dot {
+ moveto
+ gsave \psk@dotscale \pst@usecolor\psfillcolor #5 show grestore % fill first
+ gsave \psk@dotscale #4 show grestore % show the unfilled one
+ } bind def
+}}
+%
+\ifPSTlualatex\else\pstheader{pst-dots.pro}\fi % load the type 1 font
+%%40
+% /.notdef /BoldAdd /.notdef /BoldCircle /BoldDiamond /SolidOtimes /BoldOctogon /SolidHexagon
+% /BoldHexagon /BoldBar /SolidAsterisk /BoldAsterisk /.notdef /BOplus /BOtimes /.notdef
+%%50
+% /BoldPentagon /.notdef /.notdef /BoldSquare /BoldTriangle /.notdef /.notdef /.notdef
+% /BoldMul /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%%60
+% /.notdef /Add /Bullet /Circle /Diamond /SolidOplus /Octogon /SolidOctogon
+% /Hexagon /Bar /.notdef /Asterisk /SolidDiamond /Oplus /Otimes /.notdef
+%%70
+% /Pentagon /SolidPentagon /SolidSquare /Square /Triangle /SolidTriangle /.notdef /.notdef
+% /Mul /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ \newpsfontdot{B+}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<41>}
+ \newpsfontdot{BoldAdd}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<41>}
+ \newpsfontdot{Bo}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<43>}
+ \newpsfontdot{BoldCircle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<43>}
+ \newpsfontdot{BoldDiamond}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<44>}
+ \newpsfontdot{Bdiamond}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<44>}
+ \newpsfontdot{SolidOtimes}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<45>}
+ \newpsfontdot{BoldOctogon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<46>}
+ \newpsfontdot{SolidHexagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<47>}
+ \newpsfontdot{BoldHexagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<48>}
+ \newpsfontdot{BoldBar}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<49>}
+ \newpsfontdot{B|}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<49>}
+ \newpsfontdot{Asterisk*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4A>}
+ \newpsfontdot{SolidAsterisk}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4A>}
+ \newpsfontdot{BoldAsterisk}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4B>}
+ \newpsfontdot{Basterisk}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4B>}
+ \newpsfontdot{BoldOplus}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4D>}
+ \newpsfontdot{BoldOtimes}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4E>}
+ \newpsfontdot{BoldPentagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<50>}
+ \newpsfontdot{Bpentagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<50>}
+ \newpsfontdot{BoldSquare}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<53>}
+ \newpsfontdot{Bsquare}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<53>}
+ \newpsfontdot{Btriangle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<54>}
+ \newpsfontdot{BoldTriangle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<54>}
+ \newpsfontdot{BoldMul}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<58>}
+%
+ \newpsfontdot{+}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<61>}
+ \newpsfontdot{Add}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<61>}
+ \newpsfontdot{bullet}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<62>}
+ \newpsfontdot{Bullet}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<62>}
+ \newpsfontdot{*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<62>}
+ \newpsfontdot{o}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<63>}
+ \newpsfontdot{Circle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<63>}
+ \newpsfontdot{Diamond}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<64>}
+ \newpsfontdot{diamond}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<64>}
+ \newpsfontdot{Oplus*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<65>}
+ \newpsfontdot{SolidOplus}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<65>}
+ \newpsfontdot{Octogon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<66>}
+ \newpsfontdot{Octogon*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<67>}
+ \newpsfontdot{Hexagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<68>}
+ \newpsfontdot{Bar}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<69>}
+ \newpsfontdot{|}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<69>}
+ \newpsfontdot{asterisk}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6B>}
+ \newpsfontdot{Asterisk}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6B>}
+ \newpsfontdot{SolidDiamond}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6C>}
+ \newpsfontdot{diamond*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6C>}
+ \newpsfontdot{oplus}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6D>}
+ \newpsfontdot{Oplus}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6D>}
+ \newpsfontdot{otimes}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6E>}
+ \newpsfontdot{Otimes}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6E>}
+%
+ \newpsfontdot{pentagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<70>}
+ \newpsfontdot{SolidPentagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<71>}
+ \newpsfontdot{Pentagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<70>}
+ \newpsfontdot{pentagon*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<71>}
+ \newpsfontdot{square*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<72>}
+ \newpsfontdot{SolidSquare}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<72>}
+ \newpsfontdot{square}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<73>}
+ \newpsfontdot{Square}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<73>}
+ \newpsfontdot{triangle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<74>}
+ \newpsfontdot{Triangle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<74>}
+ \newpsfontdot{triangle*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<75>}
+ \newpsfontdot{SolidTriangle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<75>}
+ \newpsfontdot{x}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<78>}
+ \newpsfontdot{Mul}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<78>}
+%
+%% END: pstricks-dots.tex
+\endinput