diff options
Diffstat (limited to 'Master/texmf-dist/tex/context/base/mkiv/meta-imp-dum.mkiv')
-rw-r--r-- | Master/texmf-dist/tex/context/base/mkiv/meta-imp-dum.mkiv | 216 |
1 files changed, 216 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/context/base/mkiv/meta-imp-dum.mkiv b/Master/texmf-dist/tex/context/base/mkiv/meta-imp-dum.mkiv new file mode 100644 index 00000000000..e6ccc234c6d --- /dev/null +++ b/Master/texmf-dist/tex/context/base/mkiv/meta-imp-dum.mkiv @@ -0,0 +1,216 @@ +%D \module +%D [ file=meta-dum, +%D version=2003.03.21, +%D title=\METAPOST\ Graphics, +%D subtitle=Dummy (External) Graphics, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +\unprotect + +%D This library overloads the normal external figure +%D placeholder by a nicer one. +%D +%D \startbuffer +%D \useMPlibrary[dum] +%D +%D \startlinecorrection +%D \externalfigure[unknown-a][width=3cm,height=1cm] +%D \stoplinecorrection +%D +%D \startlinecorrection +%D \externalfigure[unknown-b][width=4cm,height=5cm] +%D \stoplinecorrection +%D \stopbuffer +%D +%D \typebuffer \getbuffer + +% currently preparempvariables is unable to resolve number +% fractions like reduction + +% June 22, 2003, this definition was patched to adapt itself +% to transparent colors, but ... in 2011 we no longer have +% is_transparent so we revert. +% +% \startuseMPgraphic{placeholder}{width,height,reduction,color} +% numeric w, h, d, r ; color c, b, cc ; path p ; boolean t ; +% t := is_transparent(\MPvar{color}) ; +% c := not_transparent(\MPvar{color}) ; +% b := not_transparent(white) ; +% w := \MPvar{width} ; +% h := \MPvar{height} ; +% r := \MPvar{reduction} ; +% d := max(w,h) ; +% p := unitsquare xyscaled (w,h) ; +% cc := r[.5c,b] ; +% fill p withcolor if t : transparent(1,.5,cc) else : cc fi ; +% for i := 1 upto 60 : +% cc := r[c randomized(.3,.9),b] ; +% fill fullcircle +% scaled (d/5 randomized (d/5)) +% shifted (center p randomized (d)) +% withcolor if t : transparent(1,.5,cc) else : cc fi ; +% endfor ; +% clip currentpicture to p ; +% \stopuseMPgraphic + +\startuseMPgraphic{figure:placeholder}{width,height,reduction,color} + begingroup ; + save w, h, d, r, p, c, b ; + numeric w, h, d, r ; path p ; + if cmykcolor \MPvar{color} : + cmykcolor c, b ; b := (0,0,0,0) + else : + color c, b ; ; b := (1,1,1) + fi ; + c := \MPvar{color} ; + w := \MPvar{width} ; + h := \MPvar{height} ; + r := \MPvar{reduction} ; + d := max(w,h) ; + p := unitsquare xyscaled (w,h) ; + fill p withcolor r[.5c,b] ; + for i := 1 upto 60 : + fill fullcircle + scaled (d/5 randomized (d/5)) + shifted (center p randomized (d)) + withcolor r[c randomized(.3,.9),b] ; + endfor ; + clip currentpicture to p ; + endgroup ; +\stopuseMPgraphic + +\defineoverlay + [figure:placeholder:graphic] + [\useMPgraphic + {figure:placeholder}% + {width=\figurewidth,% + height=\figureheight,% + reduction=\externalfigureparameter\c!reduction,% + color=placeholder:\the\c_grph_replacement_n}] + +\definepalet + [placeholder] + [1=red,2=green,3=blue,4=cyan,5=magenta,6=yellow] + +\newcount\c_grph_replacement_n + +\setupexternalfigures + [\c!reduction=0, + \c!text=\v!yes] + +\let\grph_include_replacement_saved\grph_include_replacement + +\unexpanded\def\grph_include_replacement#1#2#3% + {\begingroup + \getpaletsize[placeholder]% + \ifnum\c_grph_replacement_n=\zerocount + \getrandomnumber \m_grph_replacement_n\plusone\paletsize + \global\c_grph_replacement_n \m_grph_replacement_n\relax + \else + \global\advance\c_grph_replacement_n\plusone + \fi + \ifnum\c_grph_replacement_n>\paletsize + \global\c_grph_replacement_n\plusone + \fi + \setupcurrentexternalfigure + [\c!width=\figurewidth, + \c!height=\figureheight, + \c!frame=\v!off, + \c!strut=\v!no, + \c!align={\v!middle,\v!lohi}, + \c!background=figure:placeholder:graphic, + \c!foregroundcolor=\s!white]% + \doifelse{\externalfigureparameter\c!text}\v!yes + {\edef\m_graphics_text_a{#1}\edef\m_graphics_text_a{\ifx\m_graphics_text_a\s!dummy\else\detokenize\expandafter{\m_graphics_text_a}\fi}% + \edef\m_graphics_text_b{#2}\edef\m_graphics_text_b{\ifx\m_graphics_text_b\s!dummy\else\detokenize\expandafter{\m_graphics_text_b}\fi}% + \edef\m_graphics_text_c{#3}\edef\m_graphics_text_c{\ifx\m_graphics_text_c\s!dummy\else\detokenize\expandafter{\m_graphics_text_c}\fi}% + \infofont\setupinterlinespace\dohyphens + \inheritedexternalfigureframed{\directsetup{figure:placeholder:text}}}% + {\inheritedexternalfigureframed{}}% + \endgroup} + +\unexpanded\def\dummyfigure + {\externalfigure[placeholder]} + +\startsetups figure:placeholder:text + \ifx\m_graphics_text_a\empty\else + \strut name: \m_graphics_text_a\par + \fi + \ifx\m_graphics_text_b\empty\else + \strut + \ifx\m_graphics_text_a\empty + \ifx\m_graphics_text_c\empty + \else + file:\space + \fi + \else + file:\space + \fi + \m_graphics_text_b\par + \fi + \ifx\m_graphics_text_c\empty\else + \strut state: \m_graphics_text_c\par + \fi +\stopsetups + +%D \starttyping +%D \externalfigure[mediashow.swf][comment={Alas, we have no nice preview},background=figure:comment] +%D \externalfigure[mediashow.swf][comment={Alas, we have no nice preview},background=figure:dummy] +%D \externalfigure[mediashow.swf][background=figure:dummy] +%D \stoptyping + +\defineframed + [figurecomment] + [\c!background=\v!color, + \c!backgroundcolor=\s!gray, + \c!frame=\v!off, + \c!foregroundstyle=\ttbf, + \c!align={\v!middle,\v!lohi}, + \c!height=\figureheight, + \c!width=\figurewidth] + +\defineframed + [figuredummy] + [\c!background=figure:dummy:only, + \c!foregroundcolor=\s!white, + \c!backgroundcolor=\v!gray, + \c!frame=\v!off, + \c!foregroundstyle=\ttbf, + \c!align={\v!middle,\v!lohi}, + \c!height=\figureheight, + \c!width=\figurewidth] + +\defineoverlay + [figure:dummy:only] + [\grph_include_replacement\empty\empty\empty] + +\defineoverlay + [figure:comment] + [\figurecomment{\externalfigureparameter\c!comment}] + +\defineoverlay + [figure:dummy] + [\figuredummy{\externalfigureparameter\c!comment}] + +\setupexternalfigures + [\c!comment=] + +\protect + +\continueifinputfile{meta-imp-dum.mkiv} + +\starttext + + \externalfigure[whatever-missing] + + \blank + + \externalfigure[whatever-missing][width=2cm] + +\stoptext |