Complete.Org: Mailing Lists: Archives: freeciv-dev: March 2003:
[Freeciv-Dev] Re: (PR#3623) new window/dialog code
Home

[Freeciv-Dev] Re: (PR#3623) new window/dialog code

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: bursig@xxxxxxxxx
Subject: [Freeciv-Dev] Re: (PR#3623) new window/dialog code
From: "Raimar Falke" <rf13@xxxxxxxxxxxxxxxxx>
Date: Thu, 6 Mar 2003 00:57:12 -0800
Reply-to: rt@xxxxxxxxxxxxxx

On Wed, Mar 05, 2003 at 05:09:09PM -0800, Rafa³ Bursig wrote:
> 
> Hi All
> 
>    This is secound revolution/mess/useless/... code patch and contains :
> 
>       WINDOW WIDGED MENAGMENT SYSTEM (window menager)
> 
> This is last puzzel to basic MDI in SDLClient. Idea is simple, each 
> window/dialog has own buffer layer ( size of screen ) which is draw in 
> screen with flush operations. This code consume lots of memory but is 
> extremly effecive.
> 
> Implementation :
> Each widget get "dst" parm. which define destination buffer layer and 
> is set during creation of this widget. Only "create_window(...)" 
> fuction can allocate new buffers, rest of create widgets functions must 
> get existing "dst" buffers. Popdown_dialogs function will free "dst" 
> buffers.
> 
> This patch is big ( again ) becouse it change GUI widget API.
> 
> This code have additional some fixes and cleans + drawing goto/patrol 
> lines.
> 
> I plan commit it tomorow then any critic will be welcome :)

IMHO you have here insufficient abstraction in this patch. It should
be "struct window *" instead of "SDLSurface *". This way you can for
example add alpha blending to the windows later. Or a depth for
example: so that you can raise a window for example. Or you may add
"bool iconified;" to struct window. SDLSurface is the wrong struct.

        Raimar

-- 
 email: rf13@xxxxxxxxxxxxxxxxx
 "Your mail could not be delivered to the following Address:
  VTCMC.VTLPR@xxxxxxxxxxxxx        ** Unassigned error message **"




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