grph-epd.mkxl /size: 3794 b    last modification: 2023-12-21 09:44
1%D \module
2%D   [       file=grph-epd,
3%D        version=2010.07.29,
4%D          title=\CONTEXT\ Graphic Macros,
5%D       subtitle=Merging Goodies,
6%D         author=Hans Hagen,
7%D           date=\currentdate,
8%D      copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
9%C
10%C This module is part of the \CONTEXT\ macro||package and is
11%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
12%C details.
13
14\writestatus{loading}{ConTeXt Graphic Macros / Merging Goodies}
15
16\unprotect
17
18\registerctxluafile{grph-epd}{autosuffix}
19
20% hm, this one is globally overloaded
21
22\mutable\lettonothing\mergedfigurereference
23
24\defineoverlay[system:graphics:epdf][\directsetup{system:graphics:epdf}]
25
26\startsetups system:graphics:epdf
27    \clf_figure_mergegoodies{\externalfigureparameter\c!interaction}%
28    \reference[\mergedfigurereference]{}% todo: dest area
29\stopsetups
30
31\defineframed
32  [system_graphics_epdf]
33  [\c!frame=\v!off,
34   \c!offset=\v!overlay,
35   \c!background={\v!foreground,system:graphics:epdf}]
36
37\protected\def\grph_epdf_add_overlay
38  {\global\setbox\foundexternalfigure\vbox\bgroup % vpack ?
39     \system_graphics_epdf{\box\foundexternalfigure}%
40   \egroup}
41
42\appendtoks
43    \iflocation
44      \iftok{\figurefiletype}{pdf}% a lua call
45        \ifcstok{\externalfigureparameter\c!interaction}\v!none\else
46          \grph_epdf_add_overlay
47        \fi
48      \fi
49    \fi
50\to \externalfigurepostprocessors
51
52\defineframed
53  [epdfstampsymbol]
54  [\c!foregroundstyle=\v!mono,
55   \c!background=\c!color,
56   \c!rulethickness=.125\exheight,
57   \c!offset=.250\exheight,
58   \c!backgroundcolor=lightgray,   % can be adapted before first usage
59   \c!framecolor=darkgray,         % can be adapted before first usage
60   \c!corner=\v!round]
61
62\definesymbol[Stamped]             [\epdfstampsymbol{Stamped}]
63
64\definesymbol[Approved]            [\epdfstampsymbol{Approved}]
65\definesymbol[Experimental]        [\epdfstampsymbol{Experimental}]
66\definesymbol[NotApproved]         [\epdfstampsymbol{NotApproved}]
67\definesymbol[AsIs]                [\epdfstampsymbol{AsIs}]
68\definesymbol[Expired]             [\epdfstampsymbol{Expired}]
69\definesymbol[NotForPublicRelease] [\epdfstampsymbol{NotForPublicRelease}]
70\definesymbol[Confidential]        [\epdfstampsymbol{Confidential}]
71\definesymbol[Final]               [\epdfstampsymbol{Final}]
72\definesymbol[Sold]                [\epdfstampsymbol{Sold}]
73\definesymbol[Departmental]        [\epdfstampsymbol{Departmental}]
74\definesymbol[ForComment]          [\epdfstampsymbol{ForComment}]
75\definesymbol[TopSecret]           [\epdfstampsymbol{TopSecret}]
76\definesymbol[Draft]               [\epdfstampsymbol{Draft}]
77\definesymbol[ForPublicRelease]    [\epdfstampsymbol{ForPublicRelease}]
78
79%D For team Ramkumar:
80
81\defineframed
82  [epdftextfield]
83  [\c!frame=\v!off,
84   \c!offset=\v!overlay,
85   \c!foregroundstyle=\epdffieldfont,
86   \c!align={\v!middle,\v!lohi}]
87
88\defineframed
89  [epdflinefield]
90  [\c!frame=\v!off,
91   \c!offset=\v!overlay,
92   \c!foregroundstyle=\epdffieldfont,
93   \c!align={\v!middle,\v!lohi}]
94
95\definefont
96  [epdffieldfont]
97  [\directframedparameter{epdf:font}*\s!default\space @ \directframedparameter{epdf:size}]
98
99\protect \endinput
100
101% /Properties << /xxxx 22 0 R >>
102% 21 0 obj << /Type /OCG /Name (xxxx) >> endobj
103% 22 0 obj << /OCGs [ 21 0 R ] /Type /OCMD >> endobj
104
105% \def\setepdflayer#1#2#3#4#5#6% x y w h (in bp) 0/1 destination
106%   {\setlayer
107%     [epdflinks]
108%     [\c!x=#1bp,\c!y=#1\s!bp,\c!preset=\v!leftbottom]
109%     {\button
110%        [\c!width=#3\s!bp,\c!height=#4\s!bp,\c!offset=\v!overlay,\c!frame=\ifnum#5=1 on\else\v!off]%
111%        {}[#6]}}
112
113% \def\setepdflayer#1#2#3#4#5#6% x y w h (in bp) 0/1 destination
114%   {\setlayer
115%     [epdflinks]
116%     [\c!x=#1bp,\c!y=#1\s!bp,\c!preset=\v!leftbottom]
117%     {\gotowdhtbox{#3\s!bp}{#4\s!bp}[#6]}}
118