[Freeciv-Dev] Re: (PR#3623) new window/dialog code
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
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 **"
|
|