summaryrefslogtreecommitdiff
path: root/tex/context/base/page-sid.mkiv
diff options
context:
space:
mode:
authorMarius <mariausol@gmail.com>2012-10-19 01:20:13 +0300
committerMarius <mariausol@gmail.com>2012-10-19 01:20:13 +0300
commit69d2352af4b60929b37fc49f3bdb263977016244 (patch)
treedb5eb11398e345dfa23b4c4500fb93575d2afb7c /tex/context/base/page-sid.mkiv
parentc18f7cbe51449a611ea1819fedd9a4ff18529b7d (diff)
downloadcontext-69d2352af4b60929b37fc49f3bdb263977016244.tar.gz
stable 2012.05.30 11:26
Diffstat (limited to 'tex/context/base/page-sid.mkiv')
-rw-r--r--tex/context/base/page-sid.mkiv60
1 files changed, 43 insertions, 17 deletions
diff --git a/tex/context/base/page-sid.mkiv b/tex/context/base/page-sid.mkiv
index f7a2357bf..f4d42a41c 100644
--- a/tex/context/base/page-sid.mkiv
+++ b/tex/context/base/page-sid.mkiv
@@ -68,8 +68,29 @@
\newdimen \d_page_sides_bottomskip
\newdimen \d_page_sides_downshift
-\setnewconstant \c_page_sides_method \plusone % 0=raw 1=safe (.99) 2=tight (-1pt)
\setnewconstant \c_page_sides_align \zerocount
+\setnewconstant \c_page_sides_method \plusone % 0=raw 1=safe (.99) 2=tight (-1pt)
+
+% begin of public variables, this will change
+%
+% we need a setter and resetter .. or maybe a \placesidefloat[settings] to
+% keep variables separated
+
+\let\sidefloatshift \d_page_sides_shift
+\let\sidefloatextrashift\d_page_sides_extrashift
+\let\sidefloatleftshift \d_page_sided_leftshift
+\let\sidefloatrightshift\d_page_sided_rightshift
+\let\sidefloatleftskip \d_page_sides_leftskip
+\let\sidefloatrightskip \d_page_sides_rightskip
+\let\sidefloatmaximum \d_page_sides_maximum
+\let\sidefloattopskip \d_page_sides_topskip
+\let\sidefloatbottomskip\d_page_sides_bottomskip
+\let\sidefloatdownshift \d_page_sides_downshift
+
+\let\sidefloatsidelines \c_page_sides_n_of_lines
+
+\let\sidefloatalign \c_page_sides_align
+\let\sidefloatmethod \c_page_sides_method
\def\page_sides_process_float_backspace {\global\c_page_sides_float_type\plusone \page_sides_handle_float}
\def\page_sides_process_float_leftedge {\global\c_page_sides_float_type\plustwo \page_sides_handle_float}
@@ -83,12 +104,13 @@
\let\logsidefloat \relax
+\newif\ifroomforfloat % shared (will change)
\newif\iftracesidefloats % public (might change)
% end of public variables
\def\page_sides_insert_info
- {\page_floats_report_total}
+ {\doinsertfloatinfo}
\def\page_sides_apply_horizontal_shift
{\ifdim\d_page_sides_maximum>\zeropoint
@@ -189,8 +211,8 @@
+\compensatedinnermakeupmargin
\relax
\fi
- \ifdim\d_page_sides_rightskip>\zeropoint \global\advance\d_page_sides_rightskip\rightskip \fi
- \ifdim\d_page_sides_leftskip >\zeropoint \global\advance\d_page_sides_leftskip \leftskip \fi}
+ \ifdim\d_page_sides_rightskip>\zeropoint \doglobal\advance\d_page_sides_rightskip\rightskip \fi
+ \ifdim\d_page_sides_leftskip >\zeropoint \doglobal\advance\d_page_sides_leftskip \leftskip \fi}
\def\page_sides_flush_floats
{\par
@@ -210,7 +232,10 @@
\doloop
{\strut
\iftracesidefloats
- \color[darkgray]{\ruledhbox{\strut\kern\d_page_sides_width}}%
+ \color[darkgray]%
+ {\baselinerulefalse
+ \boxrulewidth.5\points
+ \ruledhbox{\strut\kern\d_page_sides_width}}%
\fi
\par
\ifdim\dimexpr\d_page_sides_vsize-\pagetotal\relax>\zeropoint
@@ -305,9 +330,7 @@
\ifdim\wd\b_page_sides_bottom<\d_page_sides_hsize
\parskip\zeropoint
%\noindent
- \ifinner\else
- \vadjust{\penalty\minusone}%
- \fi
+ \ifinner\else\vadjust{\penalty\minusone}\fi
\ifconditional\c_page_sides_l_eq
\global\setfalse\c_page_sides_l_eq
\else
@@ -398,7 +421,7 @@
\else
\kern\d_page_sides_shift
\fi
- \vbox{#1\ifnum\c_page_sides_align=\plusfour \removedepth \fi}%
+ \vbox{#1\ifnum\c_page_sides_align=\plusfour \removedepth\fi}%
\ifnum\c_page_sides_float_type>\plusfour
\kern\d_page_sides_shift
\else
@@ -512,7 +535,7 @@
\def\page_sides_push_float_inline#1%
{\begingroup
- \reseteverypar % needed !
+ \everypar\emptytoks % needed !
\parskip\zeropoint % needed !
\page_sides_set_skips
\page_sides_insert_info
@@ -556,7 +579,7 @@
\else\ifnum\c_page_sides_float_type>\plusfive
\global\d_page_sides_width\zeropoint
\else
- \global\d_page_sides_width\dimexpr\wd\floatbox+\d_strc_floats_margin\relax
+ \global\d_page_sides_width\dimexpr\wd\floatbox+\floatsideskip\relax
\fi\fi
\ifdim\d_page_sides_width<\zeropoint
\global\d_page_sides_width\zeropoint
@@ -578,7 +601,7 @@
\fi
\relax % really needed ! ! ! !
\ifdim\dimen0>\dimen2
- \global\setfalse\c_page_floats_room
+ \global\roomforfloatfalse
\else
\ifdim\dimexpr\pagegoal-\d_page_sides_vsize\relax<\d_page_sides_bottomskip
\global\advance\d_page_sides_vsize \dimen0
@@ -589,15 +612,15 @@
\global\advance\d_page_sides_vsize \d_page_sides_bottomskip
\global\setfalse\c_page_sides_short
\fi
- \global\settrue\c_page_floats_room
+ \global\roomforfloattrue
\fi}
\def\page_sides_prepare_space
{\par
\whitespace
\begingroup
+ \everypar\emptytoks
\forgetall
- \reseteverypar
\verticalstrut
\vskip-\struttotal
\endgroup}
@@ -610,7 +633,7 @@
\page_sides_relocate_float{#1}%
\page_sides_apply_vertical_shift
\page_sides_analyse_space
- \ifconditional\c_page_floats_room \else
+ \ifroomforfloat \else
\page_otr_fill_and_eject_page
\page_sides_analyse_space
\page_sides_inject_dummy_lines
@@ -630,6 +653,9 @@
\let\page_sides_check_floats\page_sides_check_floats_indeed
+\def\iffirstsidefloatparagraph
+ {\ifcase\c_page_sides_checks_done\or}
+
\unexpanded\def\page_sides_check_floats_set
{\scratchdimen\dimexpr\d_page_sides_progress+\strutht-\roundingeps\relax
\c_page_sides_n_of_hang\scratchdimen
@@ -678,7 +704,7 @@
\iftracesidefloats
\hskip-\d_page_sides_width % kern
\color[darkgray]%
- {\vrule\s!height.5\points\s!depth.5\points\s!width\d_page_sides_width
+ {\vrule\!!height.5\points\!!depth.5\points\!!width\d_page_sides_width
\llap{\showstruts\strut\kern.25\bodyfontsize}}%
\fi}
@@ -762,7 +788,7 @@
% some will become obsolete
\def\checksidefloat {\page_sides_check_floats}
-\def\flushsidefloats {\page_sides_flush_floats}
+%def\flushsidefloats {\page_sides_flush_floats}
\def\flushsidefloatsafterpar{\page_sides_flush_floats_after_par}
%def\forgetsidefloats {\page_sides_forget_floats}
%def\synchronizesidefloats {\page_sides_synchronize_floats}