Version saving more information coming up inSo instead of just using \let to save a bitsnapshot of the latex lists use \edef to save a list which saves the height width and depth of the box. then in the page header you can count the list as before or add up all the heights (most likelyplus \floatsep for all but the first) and so report the height of the top float area.
Doing the same for the other areas is left as an exercise:-)
\documentclass{article} \setlength\textheight{20\baselineskip} \raggedbottom \makeatletter \newif\iffootnote \let\latex@makecol\@makecol \def\@makecol{\ifvoid\footins\footnotetrue\else\footnotefalse\fi \def\@elt##1{\noexpand\@elt{\the\ht##1}{\the\dp##1}{\the\wd##1}}% \edef\topfloat{\@toplist}% \let\@elt\relax \let\botfloat\@botlist\latex@makecol} \def\iftopfloat#1#2{\ifx\topfloat\empty #2\else #1\fi} \def\ifbotfloat#1#2{\ifx\botfloat\empty #2\else #1\fi} \def\iffloatpage#1#2{\if@fcolmade #1\else #2\fi} \def\count@elt#1#2#3{\advance\count@\@ne} \def\sum@elt#1#2#3{\advance\dimen@\floatsep\advance\dimen@#1\relax} \def\ps@foo{% \def\@oddhead{% T: \iftopfloat{yes [{\count@\z@ \let\@elt\count@elt \topfloat \the\count@}]% [{\dimen@-\floatsep \let\@elt\sum@elt \topfloat size of top area: \the\dimen@}]% } {no}\hfill}} \pagestyle{foo} \makeatother \def\a{One two three. } \def\b{Red, Green, Blue. } \def\c{\a\a\b\b\a\a\a\b\b\b\a} \def\d{\c\c\par\a\b\c\b\par} \begin{document} \d \begin{figure}[!t] \fbox{XXXXXX} \caption{jjj} \end{figure} \d \begin{figure}[!t] \fbox{XXXXXX} \caption{jjj} \end{figure} \begin{figure}[!t] \fbox{XXXXXX} \caption{jjj} \end{figure} \d \end{document}