%D \module
%D   [       file=meta-pag,
%D        version=1999.07.10,
%D          title=\METAPOST\ Graphics,
%D       subtitle=Initialization,
%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.

%D These definitions used to be part of the old \type {core-mps} file, later changed
%D into \type {meta-ini}, but keeping them separate is cleaner.

\writestatus{loading}{MetaPost Graphics / Page Data Management}

\unprotect

%D The next few macros tell \METAPOST\ how the \CONTEXT\ pagebody looks.

% \startMPextensions
%     boolean PageStateAvailable;
%     PageStateAvailable:=true;
% \stopMPextensions

% maybe always set as frozen anyway

% \startMPinitializations
%     PaperHeight:=\the\paperheight;
%     PaperWidth:=\the\paperwidth;
%     PrintPaperHeight:=\the\printpaperheight;
%     PrintPaperWidth:=\the\printpaperwidth;
%     TopSpace:=\the\topspace;
%     BottomSpace:=\the\bottomspace;
%     BackSpace:=\the\backspace;
%     CutSpace:=\the\cutspace;
%     MakeupHeight:=\the\makeupheight;
%     MakeupWidth:=\the\makeupwidth;
%     TopHeight:=\the\topheight;
%     TopDistance:=\the\topdistance;
%     HeaderHeight:=\the\headerheight;
%     HeaderDistance:=\the\headerdistance;
%     TextHeight:=\the\textheight;
%     FooterDistance:=\the\footerdistance;
%     FooterHeight:=\the\footerheight;
%     BottomDistance:=\the\bottomdistance;
%     BottomHeight:=\the\bottomheight;
%     LeftEdgeWidth:=\the\leftedgewidth;
%     LeftEdgeDistance:=\the\leftedgedistance;
%     LeftMarginWidth:=\the\leftmarginwidth;
%     LeftMarginDistance:=\the\leftmargindistance;
%     TextWidth:=\the\textwidth;
%     RightMarginDistance:=\the\rightmargindistance;
%     RightMarginWidth:=\the\rightmarginwidth;
%     RightEdgeDistance:=\the\rightedgedistance;
%     RightEdgeWidth:=\the\rightedgewidth;
%     InnerMarginDistance:=\the\innermargindistance;
%     InnerMarginWidth:=\the\innermarginwidth;
%     OuterMarginDistance:=\the\outermargindistance;
%     OuterMarginWidth:=\the\outermarginwidth;
%     InnerEdgeDistance:=\the\inneredgedistance;
%     InnerEdgeWidth:=\the\inneredgewidth;
%     OuterEdgeDistance:=\the\outeredgedistance;
%     OuterEdgeWidth:=\the\outeredgewidth;
%     PageOffset:=\the\pagebackgroundoffset;
%     PageDepth:=\the\pagebackgrounddepth;
%     LayoutColumns:=\the\layoutcolumns;
%     LayoutColumnDistance:=\the\layoutcolumndistance;
%     LayoutColumnWidth:=\the\layoutcolumnwidth;
%     %
%     boolean OnRightPage,OnOddPage,InPageBody;
%     %
%     OnRightPage:=\MPonrightpage;
%     OnOddPage:=\MPonoddpage;
%     InPageBody:=\ifinpagebody true \else false \fi;
%     %
%     RealPageNumber:=\the\realpageno;
%     PageNumber:=\the\pageno;
%     NOfPages:=\lastpage;
%     LastPageNumber:=\lastpage;
%     %
%     CurrentColumn:=\number\mofcolumns;
%     NOfColumns:=\number\nofcolumns;
% \stopMPinitializations

% \def\MPonrightpage{true} % just in case they're used
% \def\MPonoddpage  {true} % just in case they're used

% \def\freezeMPpagelayout
%   {\edef\MPonrightpage{\doifbothsides  {tru}{tru}{fals}e}%
%    \edef\MPonoddpage  {\doifelseoddpage     {tru}{fals}e}}

%D We need to freeze the pagelayout before the backgrounds are build, because the
%D overlay will temporarily become zero (overlay).

% \appendtoks
%     \freezeMPpagelayout
% \to \everybeforepagebody

%D By freezing these value every graphic, we can use layout variables that change
%D halfways a page, whatever use that has.

% obsolete (but keep the code)
%
% \prependtoks
%     \calculatereducedvsizes % this is really needed
%     \freezeMPpagelayout
%     \freezeMPlayout % to be used grouped
% \to \everyMPgraphic

\prependtoks
    \calculatereducedvsizes % bah, this is really needed
\to \everyMPgraphic

\protect \endinput
