Complete.Org: Mailing Lists: Archives: freeciv-dev: January 2004:
[Freeciv-Dev] Re: (PR#7301) Unified and cached overview
Home

[Freeciv-Dev] Re: (PR#7301) Unified and cached overview

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: undisclosed-recipients: ;
Subject: [Freeciv-Dev] Re: (PR#7301) Unified and cached overview
From: "Raimar Falke" <i-freeciv-lists@xxxxxxxxxxxxx>
Date: Tue, 27 Jan 2004 02:29:28 -0800
Reply-to: rt@xxxxxxxxxxx

<URL: http://rt.freeciv.org/Ticket/Display.html?id=7301 >

On Mon, Jan 26, 2004 at 10:57:43PM -0800, Jason Short wrote:
> 
> <URL: http://rt.freeciv.org/Ticket/Display.html?id=7301 >
> 
> > [i-freeciv-lists@xxxxxxxxxxxxx - Mon Jan 26 08:36:38 2004]:
> 
> > Also note that in the FS client an expose doesn't destroy the image
> > drawn onto a canvas. The reason is that the FS client has an "expose
> > buffer" for the whole screen. (This is also nice for doing screen
> > dumps.)  So with this you will encode client specific mechanism into
> > the common code.
> 
> But what you're doing also encodes a client-specific mechanism into the
> common code, since if an additional blit IS required it's not easy for
> the GUI code to do it.

I don't understand. What additional blit? The FS one? This isn't done
by common client code nor by FS client code nor by the widget code. It
is done by the backend. Every drawing is done to an off-screen buffer
which holds the whole screen image. This buffer is then copied to the
screen. This is done by request (when the widget code redraws a
widget) or when an expose event arrives.

The "window" field of 

+struct overview {
+  /* controlled by mapview_common.c */
+  int map_x0, map_y0;
+  int width, height;           /* Size in pixels. */
+  struct canvas_store *store;
+
+  /* controlled by mapview.c */
+  struct canvas_store *window;
+};

is for the FS client also just an off-screen drawing area. Hopefully
your brain doesn't explode now that I "obviously" contradict myself.

        Raimar, who has to draw a nice picture about the various
                off-screen drawing areas of the FS client.

-- 
 email: rf13@xxxxxxxxxxxxxxxxx
 "I haven't lost my mind - it's backed up on tape somewhere."




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