summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/pixelart
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-12-06 23:54:10 +0000
committerKarl Berry <karl@freefriends.org>2017-12-06 23:54:10 +0000
commitb0705239ae82574e1415ec6398074121d41bcb32 (patch)
tree56088ae632ea25353896138a82e793d603705ff7 /Master/texmf-dist/tex/latex/pixelart
parent67c7246d76c71b0a37485565aa8a917e606caf20 (diff)
pixelart (7dec17)
git-svn-id: svn://tug.org/texlive/trunk@45998 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/pixelart')
-rw-r--r--Master/texmf-dist/tex/latex/pixelart/pixelart.sty110
1 files changed, 110 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/pixelart/pixelart.sty b/Master/texmf-dist/tex/latex/pixelart/pixelart.sty
new file mode 100644
index 00000000000..4045c6e672b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/pixelart/pixelart.sty
@@ -0,0 +1,110 @@
+%%
+%% This is file `pixelart.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% pixelart.dtx (with options: `package')
+%% Copyright 2017 Louis Paternault
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Louis Paternault
+%%
+%% This work consists of the files pixelart.dtx and pixelart.ins
+%% and the derived file pixelart.sty.
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{pixelart}
+ [2017/12/05 v0.1.0 A package to draw pixel-art pictures] % TODO Date
+
+\RequirePackage{pgf}
+\usepgfmodule{parser}
+\RequirePackage{tikz}
+\usetikzlibrary{calc}
+\RequirePackage{pgfkeys}
+\RequirePackage{etoolbox}
+
+\makeatletter
+
+\pgfkeys{
+ /PIXELART/BWPIXELART/.is family,
+ /PIXELART/BWPIXELART,
+ scale/.value required,
+ scale/.code={\pgfkeyssetvalue{/PIXELART/BWPIXELART/scale}{#1}},
+ scale=1,
+ raise/.code={\pgfkeyssetvalue{/PIXELART/BWPIXELART/raise}{#1}},
+ raise/.value required,
+ raise=0pt,
+ color/.value required,
+ color/.code={\pgfkeyssetvalue{/PIXELART/BWPIXELART/color}{#1}},
+ color=black,
+}
+
+\pgfkeys{
+ /PIXELART/TIKZBWPIXELART/.is family,
+ /PIXELART/TIKZBWPIXELART,
+ scale/.value required,
+ scale/.code={\pgfkeyssetvalue{/PIXELART/TIKZBWPIXELART/scale}{#1}},
+ scale=1,
+ color/.value required,
+ color/.code={\pgfkeyssetvalue{/PIXELART/TIKZBWPIXELART/color}{#1}},
+ color=black,
+}
+
+\pgfparserdef{@bwpixelart}{initial}{blank space \space}{
+ \@bwpa@newline
+}
+\pgfparserdef{@bwpixelart}{initial}{the character 0}{
+ \coordinate (@pixelart) at ($(@pixelart) + (1, 0)$);
+}
+\pgfparserdef{@bwpixelart}{initial}{the character 1}{
+ \fill (@pixelart) rectangle ++(1, 1);
+ \coordinate (@pixelart) at ($(@pixelart) + (1, 0)$);
+}
+\pgfparserdef{@bwpixelart}{initial}{the letter @}{
+ \pgfparserswitch{final}
+}
+
+\newcommand{\@bwpa@newline}{
+ \coordinate (@pixelart) at ($(@pixelart@startline) + (0, -1)$);
+ \coordinate (@pixelart@startline) at (@pixelart);
+}
+
+\newcommand{\bwpixelart}[2][]{{%
+ \pgfkeys{/PIXELART/BWPIXELART, #1}%
+ \raisebox{\pgfkeysvalueof{/PIXELART/BWPIXELART/raise}}{%
+ \tikz[
+ scale=\pgfkeysvalueof{/PIXELART/BWPIXELART/scale},
+ ]{
+ \tikzbwpixelart[%
+ color=\pgfkeysvalueof{/PIXELART/BWPIXELART/color},
+ ]{(0, 0)}{#2}
+ }%
+ }%
+}}
+
+\newcommand{\tikzbwpixelart}[3][]{
+ \pgfkeys{/PIXELART/TIKZBWPIXELART, #1}
+ \begin{scope}[shift={#2}]
+ \begin{scope}[#1]
+ \coordinate (@pixelart) at (0, 0);
+ \coordinate (@pixelart@startline) at (@pixelart);
+
+ \pgfparserparse{@bwpixelart} #3 @
+ \end{scope}
+ \end{scope}
+}
+
+\makeatother
+
+\endinput
+%%
+%% End of file `pixelart.sty'.