From e302c5cfcc30aa1b2e49ad5aa1fb524871618e43 Mon Sep 17 00:00:00 2001 From: Jeffrey Armstrong Date: Fri, 25 Sep 2020 10:58:13 -0400 Subject: Added a homepage on Windows that showcases AppGraphics. --- layout.f90 | 45 ++++++++++++++++++++++----------------------- 1 file changed, 22 insertions(+), 23 deletions(-) (limited to 'layout.f90') diff --git a/layout.f90 b/layout.f90 index 73c085c..9946fd9 100644 --- a/layout.f90 +++ b/layout.f90 @@ -55,31 +55,30 @@ 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) end if - + select case (walker%line_type) - + case (line_type_text) call render_proportional(rendering_engine, walker%text, walker%breaks) - + case (line_type_preformatted) call render_preformatted(rendering_engine, walker%text) - + case (line_type_link) call render_link(rendering_engine, walker%text) - + end select - + laying_out = associated(walker%next) if(laying_out) then walker => walker%next end if - + end do - + end subroutine layout_lines subroutine clear_line_breaks(first_line) @@ -89,44 +88,44 @@ contains type(line), pointer::walker walker => first_line - + do while(associated(walker)) if(associated(walker%breaks)) then deallocate(walker%breaks) walker%breaks => null() end if - + walker => walker%next - + end do - + end subroutine clear_line_breaks subroutine free_lines(first_line) implicit none - + type(line), intent(inout), pointer::first_line - + type(line), pointer::walker, past - + call clear_line_breaks(first_line) - + walker => first_line - + do while(associated(walker)) if(allocated(walker%text)) then deallocate(walker%text) end if - + past => walker walker => walker%next - + deallocate(past) - + end do - + first_line => null() - + end subroutine free_lines end module layout \ No newline at end of file -- cgit v1.2.3