From 2499f1720602a9010f4618f0b686f077febbdf55 Mon Sep 17 00:00:00 2001 From: Jeffrey Armstrong Date: Thu, 18 Feb 2021 09:07:32 -0500 Subject: Preformatted text should no longer wrap, and the stopping point for printing preformatted text is now calculated. Removed double-accounting of borders in text width calculations. --- layout.f90 | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'layout.f90') diff --git a/layout.f90 b/layout.f90 index e28981d..41b6d56 100644 --- a/layout.f90 +++ b/layout.f90 @@ -55,8 +55,16 @@ contains call rendering_engine%prepare_for_layout() do while(laying_out) - if(walker%line_type == line_type_text .and. .not. associated(walker%breaks)) then - walker%breaks => calculate_wrapping(rendering_engine, walker%text) + if(.not. associated(walker%breaks)) then + select case (walker%line_type) + + case (line_type_text) + walker%breaks => calculate_wrapping(rendering_engine, walker%text) + + case (line_type_preformatted) + walker%breaks => calculate_stop(rendering_engine, walker%text) + + end select end if select case (walker%line_type) @@ -65,7 +73,7 @@ contains call render_proportional(rendering_engine, walker%text, walker%breaks) case (line_type_preformatted) - call render_preformatted(rendering_engine, walker%text) + call render_preformatted(rendering_engine, walker%text, walker%breaks(1)) case (line_type_link) call render_link(rendering_engine, walker%text) -- cgit v1.2.3