aboutsummaryrefslogtreecommitdiff
path: root/ag_render.f90
diff options
context:
space:
mode:
Diffstat (limited to 'ag_render.f90')
-rw-r--r--ag_render.f9043
1 files changed, 24 insertions, 19 deletions
diff --git a/ag_render.f90 b/ag_render.f90
index b3b76b1..bddec84 100644
--- a/ag_render.f90
+++ b/ag_render.f90
@@ -387,18 +387,30 @@ contains
type(appgraphics_renderer)::self
character(*), intent(in)::text
-
+
+ ! Double-buffer
+ integer::i, active_page
+
+ call resetviewport()
+ call setviewport(0, getmaxy()-self%status_bar_height, getmaxx()+1, getmaxy()+1, .true.)
+ active_page = getactivepage()
self%status_bar_height = 16
-
+
+ do i = 0, 1
+ call setactivepage(i)
+
+ call setbkcolor(LIGHTGRAY)
+ call setcolor(BLACK)
+ call settextstyle(WINDOWS_FONT, HORIZ_DIR, 12)
+
+
+ call clearviewport()
+ call outtextxy(5, 2, trim(text))
+
+ end do
+ call setactivepage(active_page)
call resetviewport()
- call setbkcolor(LIGHTGRAY)
- call setcolor(BLACK)
- call settextstyle(WINDOWS_FONT, HORIZ_DIR, 12)
-
- call bar(0, getmaxy()-self%status_bar_height, getmaxx()+1, getmaxy()+1)
- call outtextxy(5, getmaxy()-self%status_bar_height+2, trim(text))
-
end subroutine draw_status_bar
subroutine draw_scroll_bar(self)
@@ -472,7 +484,8 @@ contains
self%scroll_id = -1
call draw_address_bar(self)
- call draw_status_bar(self, "Welcome to the LR-87 Gemini Client")
+ !call draw_status_bar(self, "Welcome to the LR-87 Gemini Client")
+ call self%report_status("Welcome to the LR-87 Gemini Client")
call draw_scroll_bar(self)
self%background_color = WHITE
@@ -859,19 +872,11 @@ contains
class(appgraphics_renderer)::self
character(*), intent(in)::text
character(64), save::last_text
- integer::vp, ap
if(trim(last_text) == trim(text)) then
return
end if
- vp = getvisualpage()
- ap = getactivepage()
-
- call setactivepage(vp)
- call draw_status_bar(self, text)
-
- call setactivepage(ap)
call draw_status_bar(self, text)
last_text = text
@@ -955,7 +960,7 @@ contains
! Effectively have to redraw everything
call draw_address_bar(self, expanding=expanding_horizontally)
- call draw_status_bar(self, idle_status)
+ call self%report_status(idle_status)
call draw_scroll_bar(self)
call setscrollposition(self%scroll_id, 0)