summaryrefslogtreecommitdiff
path: root/tex/context/base/page-mul.mkiv
diff options
context:
space:
mode:
authorMarius <mariausol@gmail.com>2012-07-04 12:00:14 +0300
committerMarius <mariausol@gmail.com>2012-07-04 12:00:14 +0300
commit895f68ef1727ec31a51ef8799e2bf576ea7642d0 (patch)
treebaec5079e7fd9febeee6c1cb257b064a46fe665b /tex/context/base/page-mul.mkiv
parentbb0eac07417aec9a0da32a54fbdad4553cebcce7 (diff)
downloadcontext-895f68ef1727ec31a51ef8799e2bf576ea7642d0.tar.gz
beta 2012.07.04 10:42
Diffstat (limited to 'tex/context/base/page-mul.mkiv')
-rw-r--r--tex/context/base/page-mul.mkiv76
1 files changed, 39 insertions, 37 deletions
diff --git a/tex/context/base/page-mul.mkiv b/tex/context/base/page-mul.mkiv
index 3792f06ee..e22ecd0a3 100644
--- a/tex/context/base/page-mul.mkiv
+++ b/tex/context/base/page-mul.mkiv
@@ -11,9 +11,8 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-% SEE PAGE-MUL-NEW.MKIV
-
-% BEWARE: TEMPORARY ISSUES WITH VSIZE AND HSIZE BUT WILL BE REDONE
+% !!! there are some issues with hsize an vsize as well as flushing
+% !!! floats but this module will be redone anyway
\writestatus{loading}{ConTeXt Page Macros / Simple Multi Column}
@@ -304,7 +303,7 @@
%\setcolumntextheight\relax
\widowpenalty\zerocount % is gewoon beter
\clubpenalty \zerocount % zeker bij grids
- \dopushcolumnfloats
+ \page_floats_column_push_saved
\dimen0\dimexpr\pagetotal+\parskip+\openlineheight\relax
\ifdim\dimen0<\pagegoal
\allowbreak
@@ -389,7 +388,7 @@
\synchronizeoutput % new may 2004 / we need to: \pagegoal\vsize
\checkendcolumnfootnotes
\dosomebreak\allowbreak
- \dopopcolumnfloats}
+ \page_floats_column_pop_saved}
%D Because some initializations happen three times, we defined a macro for
%D them. Erasing \type{\everypar} is needed because we don't want anything
@@ -1084,21 +1083,24 @@
%D
%D When all those floats are flushed, we switch to the local flushing routine.
-\def\dopushcolumnfloats
- {\ifsomefloatwaiting
- \showmessage\m!columns6{\the\savednoffloats}%
- \global\setbox\savedfloatlist\box\floatlist
- \xdef\dopopcolumnfloats
- {\global\savednoffloats\the\savednoffloats
- \global\setbox\floatlist\box\savedfloatlist
- \global\noexpand\somefloatwaitingtrue}%
- \global\savednoffloats\zerocount
- \global\somefloatwaitingfalse
- \else
- \global\let\dopopcolumnfloats\relax
- \fi}
-
-\let\dopopcolumnfloats\relax
+% \newbox \floatlist
+% \newbox \savedfloatlist
+%
+% \def\page_floats_column_push_saved
+% {\ifconditional\c_page_floats_some_waiting
+% \showmessage\m!columns6{\the\savednoffloats}%
+% \global\setbox\savedfloatlist\box\floatlist
+% \xdef\page_floats_column_pop_saved
+% {\global\savednoffloats\the\savednoffloats
+% \global\setbox\floatlist\box\savedfloatlist
+% \global\noexpand\settrue\c_page_floats_some_waiting}%
+% \global\savednoffloats\zerocount
+% \global\setfalse\c_page_floats_some_waiting
+% \else
+% \global\let\page_floats_column_pop_saved\relax
+% \fi}
+%
+% \let\page_floats_column_pop_saved\relax
% \def\setcolumnfloats % messy as it adapts everypar
% {\xdef\globalsavednoffloats{\the\savednoffloats}%
@@ -1212,25 +1214,25 @@
\def\docolumnroomfloat
{\ifpostponecolumnfloats
- \global\roomforfloatfalse
- \else\ifnofloatpermitted
- \global\roomforfloatfalse
+ \global\setfalse\c_page_floats_room
+ \else\ifconditional\c_page_floats_not_permitted
+ \global\setfalse\c_page_floats_room
\else
\bgroup
\getcolumnstatus\column\count255\total\dimen0\goal\dimen2\\%
- \dofloatsgetinfo\s!text
+ \page_floats_get_info\s!text
\setbox\scratchbox\vbox % tricky met objecten ?
{\blank[\rootfloatparameter\c!spacebefore]
\snaptogrid\vbox{\vskip\floatheight}}% copy?
\advance\dimen0\dimexpr\ht\scratchbox+2\openlineheight+.5\lineheight\relax\relax % needed because goal a bit higher
\ifdim\dimen0>\dimen2
- \global\roomforfloatfalse
+ \global\setfalse\c_page_floats_room
\else
- \global\roomforfloattrue
+ \global\settrue\c_page_floats_room
\fi
\ifdim\floatwidth>\hsize
\showmessage\m!columns{11}\empty
- \global\roomforfloatfalse
+ \global\setfalse\c_page_floats_room
\fi
\egroup
\fi\fi}
@@ -1241,7 +1243,7 @@
\newif\ifflushingcolumnfloats \flushingcolumnfloatstrue
\def\doflushcolumnfloat
- {\ifpostponecolumnfloats\else\ifflushingcolumnfloats\ifsomefloatwaiting
+ {\ifpostponecolumnfloats\else\ifflushingcolumnfloats\ifconditional\c_page_floats_some_waiting
\doflushcolumnfloatindeed
\fi\fi\fi}
@@ -1251,7 +1253,7 @@
\let\doflushcolumnfloat\relax
\getcolumnstatus\column\mofcolumns\total\dimen0\goal\dimen2\\%
\ifdim\dimen0>\zeropoint
- \dofloatsgetinfo\s!text
+ \page_floats_get_info\s!text
\ifdim\floatwidth>\hsize
% dropped ?
\else
@@ -1263,7 +1265,7 @@
\ifnum\mofcolumns<\nofcolumns
\advance\mofcolumns \plusone
\ifdim\ht\currenttopcolumnbox=\zeropoint
- \dofloatsflush\s!text{1}%
+ \page_floats_flush\s!text\plusone
\global\setbox\currenttopcolumnbox\vbox
{\snaptogrid\vbox{\box\floatbox}
\whitespace % nodig ?
@@ -1287,7 +1289,7 @@
\blank[\rootfloatparameter\c!spacebefore]
\nobreak
\fi
- \dofloatsflush\s!text{1}%
+ \page_floats_flush\s!text\plusone
\page_otr_command_flush_float_box
\blank[\rootfloatparameter\c!spaceafter]
\fi
@@ -1312,7 +1314,7 @@
{\ifpostponecolumnfloats\else
\bgroup
\forgetall
- \ifsomefloatwaiting
+ \ifconditional\c_page_floats_some_waiting
\dimen8\zeropoint
\dimen4\zeropoint
\count0\zerocount % count0 can be used local
@@ -1326,7 +1328,7 @@
\whitespace % nodig ?
\blank[\rootfloatparameter\c!spaceafter]}%
\else
- \dofloatsgetinfo\s!text
+ \page_floats_get_info\s!text
\ifdim\floatwidth>\hsize
\dimen0\dimexpr\floatwidth+\intercolumnwidth+.5pt\relax
\dimen2\dimexpr\hsize +\intercolumnwidth+.5pt\relax
@@ -1337,7 +1339,7 @@
\count0\zerocount
\else
\dimen0\dimexpr\count0\hsize+\count0\intercolumnwidth-\intercolumnwidth\relax
- \dofloatsflush\s!text{1}%
+ \page_floats_flush\s!text\plusone
\ifdim\floatwidth>\finalcolumntextwidth % better somewhere else too
\global\setbox\floatbox\hbox to \finalcolumntextwidth{\hss\box\floatbox\hss}%
\fi % otherwise the graphic may disappear
@@ -1350,7 +1352,7 @@
\fi
\showmessage\m!columns{13}\empty
\else
- \dofloatsflush\s!text{1}%
+ \page_floats_flush\s!text\plusone
\ifdim\floatwidth>\finalcolumntextwidth % better somewhere else too
\global\setbox\floatbox\hbox to \finalcolumntextwidth{\hss\box\floatbox\hss}%
\fi % otherwise the graphic may disappear
@@ -1386,11 +1388,11 @@
\def\insertcolumnfloats
{\doloop
- {\ifsomefloatwaiting
+ {\ifconditional\c_page_floats_some_waiting
\bgroup
\forgetall
% no check for width
- \dogetfloat
+ \page_floats_get
\blank[\rootfloatparameter\c!spacebefore]
\snaptogrid\vbox{\copy\floatbox}
\blank[\rootfloatparameter\c!spaceafter]