// True if screen is full, should terminate the loop. internal abstract bool ScreenFull(PageOnScreen curPage, Size screenSize);
// Advance page by one internal abstract void AdvancePage(ref PageOnScreen curPage, Size sceenSize);
internal override void AdvancePage(ref PageOnScreen curPage, Size screenSize) { int top = curPage.TopOnScreen; curPage = NewPage(curPage.PageNum - 1, screenSize); curPage.BottomOnScreen = top - RowSpacing; }
internal override bool ScreenFull(PageOnScreen curPage, Size screenSize) { // Spilling over to next page if (curPage.TopOnScreen <= 0) { return true; } // First page (no spill upwards necessary) if (curPage.PageNum == 1) { return true; } return false; }
internal override void AdvancePage(ref PageOnScreen curPage, Size sceenSize) { _assembleCurrent.AdvancePage(ref curPage, sceenSize); }
internal override bool ScreenFull(PageOnScreen curPage, Size screenSize) { return _assembleCurrent.ScreenFull(curPage, screenSize); }
internal override bool ScreenFull(PageOnScreen curPage, Size screenSize) { // Spilling over to next page if (curPage.BottomOnScreen >= screenSize.Height) { return true; } // Final page (no spill over necessary) if (curPage.PageNum == PageCount) { return true; } return false; }