Complete.Org: Mailing Lists: Archives: freeciv-dev: July 2003:
[Freeciv-Dev] (PR#4679) double-tiles
Home

[Freeciv-Dev] (PR#4679) double-tiles

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: undisclosed-recipients: ;
Subject: [Freeciv-Dev] (PR#4679) double-tiles
From: "Jason Short" <jdorje@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 24 Jul 2003 22:35:33 -0700
Reply-to: rt@xxxxxxxxxxxxxx

When a tile appears twice on the mapview, it will only be drawn in one 
place.  What gets drawn in the other place?  Nothing...which means the 
other tile is basically not refreshed and can get cluttered with stuff 
like city names, etc.

The attached patch clears the mapview window before redrawing it.

As a side note, we could speed up the full-screen refresh by, in 
addition to clearing the window before we start to draw tiles, also 
simply skipping black (unreal/unknown) tiles.  We can do this since 
they're already drawn black.  But we could only do it in 
update_map_canvas_visible, not in refresh_tile_mapcanvas.

jason

Index: client/mapview_common.c
===================================================================
RCS file: /home/freeciv/CVS/freeciv/client/mapview_common.c,v
retrieving revision 1.53
diff -u -r1.53 mapview_common.c
--- client/mapview_common.c     2003/07/23 13:46:01     1.53
+++ client/mapview_common.c     2003/07/25 05:32:50
@@ -903,6 +903,9 @@
 {
   dirty_all();
 
+  gui_put_rectangle(mapview_canvas.store, COLOR_STD_BLACK,
+                   0, 0, mapview_canvas.width, mapview_canvas.height);
+
   if (is_isometric) {
     /* just find a big rectangle that includes the whole visible area. The
        invisible tiles will not be drawn. */

[Prev in Thread] Current Thread [Next in Thread]