diff options
author | Karl Berry <karl@freefriends.org> | 2016-04-22 22:14:39 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-04-22 22:14:39 +0000 |
commit | fc4466b32ed330a956ac603b00fd145524cff49a (patch) | |
tree | 2c50e2b8de13aa9233b2c76dffe201558f169e86 /Master/texmf-dist/tex/context/base/mkiv/scrn-pag.mkvi | |
parent | 50e2368597d5f6fe2057195d0ae6a9f2044923e4 (diff) |
context (22apr16)
git-svn-id: svn://tug.org/texlive/trunk@40691 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/context/base/mkiv/scrn-pag.mkvi')
-rw-r--r-- | Master/texmf-dist/tex/context/base/mkiv/scrn-pag.mkvi | 308 |
1 files changed, 308 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/context/base/mkiv/scrn-pag.mkvi b/Master/texmf-dist/tex/context/base/mkiv/scrn-pag.mkvi new file mode 100644 index 00000000000..7a7effdc40a --- /dev/null +++ b/Master/texmf-dist/tex/context/base/mkiv/scrn-pag.mkvi @@ -0,0 +1,308 @@ +%D \module +%D [ file=scrn-pag, +%D version=1998.01.15, +%D title=\CONTEXT\ Screen Macros, +%D subtitle=Pages, % moved code +%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. + +% pagecomments will be done differently + +\writestatus{loading}{ConTeXt Screen Macros / Pages} + +\registerctxluafile{scrn-pag}{1.001} + +\unprotect + +\installcorenamespace{interactionscreen} + +\installparameterhandler \??interactionscreen {interactionscreen} +\installsetuphandler \??interactionscreen {interactionscreen} + +\newdimen\canvaswidth +\newdimen\canvasheight +\newdimen\canvasbackoffset +\newdimen\canvastopoffset +\newdimen\canvasmaxwidth +\newdimen\canvasmaxheight +\newdimen\canvascropoffset +\newdimen\canvastrimoffset +\newdimen\canvasbleedoffset +\newdimen\canvasartoffset + +\newconditional\c_scrn_canvas_tight_page + +\def\scrn_canvas_calculate + {\begingroup + \edef\currentinteractionscreenwidth {\interactionscreenparameter\c!width }% + \edef\currentinteractionscreenheight{\interactionscreenparameter\c!height}% + \canvasbackoffset\backspace + \canvastopoffset\topspace + \donetrue + \ifx\currentinteractionscreenwidth\v!max + \global\canvaswidth\printpaperwidth + \else\ifx\currentinteractionscreenwidth\v!fit + \donefalse + \global\canvaswidth\dimexpr + \leftcombitotal + + \makeupwidth + + \rightcombitotal + + 2\dimexpr + \interactionscreenparameter\c!backspace + + \interactionscreenparameter\c!horoffset + \relax + \relax + \else\ifx\currentinteractionscreenwidth\v!tight + \donefalse + \ifdim\backspace>\canvaswidth + \ifdim\backspace>\zeropoint\relax + \global\advance\canvasbackoffset -\canvaswidth + \fi + \fi + \global\advance\canvaswidth\dimexpr + \makeupwidth + + \rightcombitotal + + 2\dimexpr + \interactionscreenparameter\c!backspace + + \interactionscreenparameter\c!horoffset + \relax + \relax + \else + \donefalse + \global\canvaswidth\currentinteractionscreenwidth + \fi\fi\fi + \ifx\currentinteractionscreenheight\v!max + \global\canvasheight\printpaperheight + \else\ifx\currentinteractionscreenheight\v!fit + \donefalse + \global\canvasheight\dimexpr + \topheight + + \topdistance + + \makeupheight + + \bottomdistance + + \bottomheight + + 2\dimexpr + \interactionscreenparameter\c!topspace + + \interactionscreenparameter\c!veroffset + \relax + \relax + \else\ifx\currentinteractionscreenheight\v!tight + \donefalse + \global\canvasheight\dimexpr\topheight+\topdistance\relax + \ifdim\topspace>\canvasheight + \ifdim\topspace>\zeropoint\relax + \global\advance\canvastopoffset -\canvasheight + \fi + \fi + \global\advance\canvasheight\dimexpr + \makeupheight + + \bottomdistance + + \bottomheight + + 2\dimexpr + \interactionscreenparameter\c!topspace + + \interactionscreenparameter\c!veroffset + \relax + \relax + \else + \donefalse + \global\canvasheight\currentinteractionscreenheight + \fi\fi\fi + \ifconditional\c_page_layouts_location_is_set + \global\setfalse\c_scrn_canvas_tight_page + \fi + \ifconditional\c_scrn_canvas_tight_page + \global\canvasmaxwidth \paperwidth + \global\canvasmaxheight\paperheight + \else + \global\canvasmaxwidth \printpaperwidth + \global\canvasmaxheight\printpaperheight + \fi + % new: + \ifdone + \global\canvascropoffset \layoutcropoffset + \global\canvastrimoffset \layouttrimoffset + \global\canvasbleedoffset\layoutbleedoffset + \global\canvasartoffset \layoutartoffset + \else + \global\canvascropoffset \zeropoint + \global\canvastrimoffset \zeropoint + \global\canvasbleedoffset\zeropoint + \global\canvasartoffset \zeropoint + \fi + \endgroup} + +\newdimen\layoutcropoffset +\newdimen\layouttrimoffset +\newdimen\layoutbleedoffset +\newdimen\layoutartoffset + +\appendtoks + \edef\p_cropoffset{\layoutparameter\c!cropoffset}% + \ifx\p_cropoffset\v!auto + \ifconditional\c_page_layouts_location_is_middle + \scratchheight\dimexpr(\printpaperheight-\paperheight)/2\relax + \scratchwidth \dimexpr(\printpaperwidth -\paperwidth )/2\relax + \layoutcropoffset\ifdim\scratchheight>\scratchwidth\scratchheight\else\scratchwidth\fi + \layouttrimoffset \layoutparameter\c!trimoffset + \layoutbleedoffset\layoutparameter\c!bleedoffset + \layoutartoffset \layoutparameter\c!artoffset + \else + \writestatus\m!system{auto crop etc only supported when location=middle}% + \layoutcropoffset \zeropoint + \layouttrimoffset \zeropoint + \layoutbleedoffset\zeropoint + \layoutartoffset \zeropoint + \fi + \else + \layoutcropoffset \layoutparameter\c!cropoffset + \layouttrimoffset \layoutparameter\c!trimoffset + \layoutbleedoffset\layoutparameter\c!bleedoffset + \layoutartoffset \layoutparameter\c!artoffset + \fi + \relax +\to \everysetuplayout + +\setuplayout + [\c!cropoffset=\zeropoint, + \c!trimoffset=\zeropoint, + \c!bleedoffset=\zeropoint, + \c!artoffset=\zeropoint] + +% test the next when something is changed here: +% +% \setuppapersize[A5][A3] \showframe +% +% % \setuplayout[location=middle] \setupinteractionscreen[option=fit] +% % \setuplayout[location=middle] \setupinteractionscreen[option=auto] +% % \setupinteractionscreen[option=fit] +% % \setupinteractionscreen[option=auto] +% +% \starttext \input ward \stoptext + +\let\scrn_canvas_synchronize_simple \relax +\let\scrn_canvas_synchronize_complex\relax + +\appendtoks + \global\let\scrn_canvas_synchronize_simple \scrn_canvas_synchronize_simple_indeed + \global\let\scrn_canvas_synchronize_complex\scrn_canvas_synchronize_complex_indeed +\to \everysetuplayout + +\appendtoks + \global\let\scrn_canvas_synchronize_simple \scrn_canvas_synchronize_simple_indeed + \global\let\scrn_canvas_synchronize_complex\scrn_canvas_synchronize_complex_indeed +\to \everysetuplayouttarget + +\def\scrn_canvas_synchronize_only + {\clf_setupcanvas + paperwidth \printpaperwidth + paperheight \printpaperheight + \relax} + +\def\scrn_canvas_synchronize_simple_indeed + {\clf_setupcanvas + paperwidth \printpaperwidth + paperheight \printpaperheight + \relax + %\global\let\scrn_canvas_synchronize_simple \relax + \global\let\scrn_canvas_synchronize_complex\relax} + +\def\scrn_canvas_synchronize_complex_indeed + {\scrn_canvas_calculate % otherwise we need to hook it into setuppage etc + \clf_setupcanvas + mode {\interactionscreenparameter\c!option}% + singlesided \ifsinglesided true\else false\fi\space + doublesided \ifdoublesided true\else false\fi\space + leftoffset \canvasbackoffset + topoffset \canvastopoffset + width \canvaswidth + height \canvasheight + paperwidth \canvasmaxwidth + paperheight \canvasmaxheight + cropoffset \canvascropoffset + trimoffset \canvastrimoffset + bleedoffset \canvasbleedoffset + artoffset \canvasartoffset + \relax + %\global\let\scrn_canvas_synchronize_simple \relax + \global\let\scrn_canvas_synchronize_complex\relax} + +\appendtoks + \begingroup + \edef\p_option{\interactionscreenparameter\c!option}% + \ifx\p_option\v!max + \global\settrue \c_scrn_canvas_tight_page + \else\ifx\p_option\v!fit + \global\settrue \c_scrn_canvas_tight_page + \else + \global\setfalse\c_scrn_canvas_tight_page + \fi\fi + \endgroup +\to \everysetupinteractionscreen + +\setupinteractionscreen + [\c!width=\printpaperwidth, + \c!height=\printpaperheight, + \c!horoffset=\zeropoint, + \c!veroffset=\zeropoint, + \c!backspace=\backspace, + \c!topspace=\topspace, + \c!option=\v!auto] + +\appendtoks + \global\let\scrn_canvas_synchronize_simple \scrn_canvas_synchronize_simple_indeed + \global\let\scrn_canvas_synchronize_complex\scrn_canvas_synchronize_complex_indeed +\to \everysetupinteractionscreen + +%D Conditional page breaks: + +\unexpanded\def\screen + {\dosingleempty\scrn_screen} + +\def\scrn_screen[#list]% + {\iflocation + \page[#list]% + \fi} + +%D Page transitions: + +\let\scrn_transitions_list\empty + +\unexpanded\def\setuppagetransitions + {\dosingleempty\scrn_transitions_setup} + +\def\scrn_transitions_setup[#list]% + {\edef\scrn_transitions_list{#list}% + \ifx\scrn_transitions_list\v!reset + \let\scrn_transitions_list\empty + \fi} + +\def\scrn_transitions_set + {\iflocation \ifx\scrn_transitions_list\empty \else + \scrn_transitions_set_indeed + \fi \fi} + +\def\scrn_transitions_set_indeed + {\begingroup + \edef\currentinteractionscreendelay{\interactionscreenparameter\c!delay}% + \clf_setpagetransition + n {\scrn_transitions_list}% + delay \ifx\currentinteractionscreendelay\v!none \zerocount\else\currentinteractionscreendelay\fi + \relax + \endgroup} + +\prependtoks + \scrn_transitions_set +\to \everyshipout + +\setupinteractionscreen + [\c!delay=\v!none] + +\setuppagetransitions + [\v!reset] + +\protect \endinput |