summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/grph-inc.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/context/base/grph-inc.mkiv')
-rw-r--r--Master/texmf-dist/tex/context/base/grph-inc.mkiv29
1 files changed, 19 insertions, 10 deletions
diff --git a/Master/texmf-dist/tex/context/base/grph-inc.mkiv b/Master/texmf-dist/tex/context/base/grph-inc.mkiv
index c8c0e36b74b..16ee1097a2f 100644
--- a/Master/texmf-dist/tex/context/base/grph-inc.mkiv
+++ b/Master/texmf-dist/tex/context/base/grph-inc.mkiv
@@ -20,21 +20,20 @@
%D - a few more obscure things
\registerctxluafile{grph-inc}{1.001}
+\registerctxluafile{grph-fil}{1.001}
\registerctxluafile{grph-u3d}{1.001} % this will change
+\registerctxluafile{grph-swf}{1.001} % this will change
\unprotect
%D The following registers are used (if only to be downward compatible).
\newbox \foundexternalfigure
-\newif \iftraceexternalfigures
\newif \ifskipexternalfigures
\newtoks \everyexternalfigureresets
\newtoks \everyexternalfigurechecks
\newtoks \externalfigurepostprocessors
-\let\traceexternalfigures \traceexternalfigurestrue
-
\def\resetfigurevariables {\the\everyexternalfigureresets}
\def\checkfigurevariables {\the\everyexternalfigurechecks}
@@ -55,7 +54,7 @@
%D \definegraphictypesynonym[jbg] [jb2]
%D \stoptyping
-\def\definegraphictypesynonym
+\unexpanded\def\definegraphictypesynonym
{\dodoubleargument\dodefinegraphictypesynonym}
\def\dodefinegraphictypesynonym[#1][#2]%
@@ -65,7 +64,7 @@
%D macro picks up the list.
\def\setfigurepathlist
- {\ctxlua{figures.setpaths("\@@exlocation","\@@exdirectory")}}
+ {\ctxlua{figures.setpaths("\@@exlocation",\!!bs\@@exdirectory\!!es)}}
%D Variables:
@@ -86,14 +85,13 @@
\def\figurefilecache {\ctxlua{figures.tprint("request","cache")}}
\def\figurefileprefix {\ctxlua{figures.tprint("request","prefix")}}
-\def\figurenaturalwidth {\ctxlua{figures.tprint("used","width",\number\dimexpr\defaultfigurewidth\relax)}sp}
+\def\figurenaturalwidth {\ctxlua{figures.tprint("used","width", \number\dimexpr\defaultfigurewidth \relax)}sp}
\def\figurenaturalheight {\ctxlua{figures.tprint("used","height",\number\dimexpr\defaultfigureheight\relax)}sp}
\def\figurefilepath {\ctxlua{tex.sprint(tex.ctxcatcodes,file.dirname (figures.get("used","fullname")))}}
\def\figurefilename {\ctxlua{tex.sprint(tex.ctxcatcodes,file.nameonly(figures.get("used","fullname")))}}
\def\figurefiletype {\ctxlua{tex.sprint(tex.ctxcatcodes,file.extname (figures.get("used","fullname")))}}
\def\figurefullname {\ctxlua{figures.tprint("used","fullname")}}
-
\def\noffigurepages {\ctxlua{figures.tprint("used","pages",0)}}
\let\naturalfigurewidth \figurenaturalwidth
@@ -105,7 +103,7 @@
\let\figurescaleyscale \figureyscale
\appendtoks
- \ctxlua {
+ \ctxlua { % figures.defaultwidth .. why not dimen
figures.setpaths("\@@exlocation","\@@exdirectory") ;
figures.defaultwidth = \number\dimexpr\defaultfigurewidth \relax ;
figures.defaultheight = \number\dimexpr\defaultfigureheight\relax ;
@@ -214,6 +212,10 @@
\newconditional\testexternalfigureonly
+% \enabletrackers[figures.conversion]
+% \externalfigure[demo.svg]
+% \externalfigure[demo.svg][conversion=png]
+
\def\calculateexternalfigure[#1][#2][#3][#4][#5][#6]% \cmd label filename parent_id preset current
{\dontcomplain
\restorecatcodes
@@ -237,6 +239,7 @@
controls="\@@efcontrols",
preview="\@@efpreview",
display="\@@efdisplay",
+ conversion="\@@efconversion",
color="\internalspotcolorparent\@@efcolor", % hack is needed
["repeat"]="\@@efrepeat",
width="\@@efwidth", % can be crap
@@ -244,6 +247,12 @@
} }%
\ctxlua{figures.identify()}%
\ifconditional\testexternalfigureonly
+ \ifcase\figurestatus \else
+ \ctxlua{figures.check()}%
+ \ctxlua{figures.dummy()}%
+ \ctxlua{figures.scale()}%
+ \ctxlua{figures.done()}%
+ \fi
\signalexternalfigure
\else
\ifcase\figurestatus
@@ -277,10 +286,10 @@
\global\setsystemmode \v!figure % todo, also: \v!resource
\fi}
-\def\startfoundexternalfigure#1#2%
+\unexpanded\def\startfoundexternalfigure#1#2% ht wd
{\global\setbox\foundexternalfigure\vbox to #2\bgroup\vss\hbox to #1\bgroup}
-\def\stopfoundexternalfigure
+\unexpanded\def\stopfoundexternalfigure
{\hss\egroup\egroup}
\def\emptyfoundexternalfigure