[Freeciv-Dev] Re: (PR#3424) New flush code
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
Raimar Falke wrote:
> On Thu, Feb 27, 2003 at 01:12:43PM -0800, Jason Short wrote:
>
>>Jason Short wrote:
>>
>>>Raimar Falke wrote:
>>
>>>It seems reasonable to take this a step further and do it the same way
>>>for gui-sdl. I believe this can be done with SDL_AddTimer, but I'm not
>>>familiar enough with the code to write this. If that were done then all
>>>GUIs (except MUI which just has stubs) would be supported, and we could
>>>remove all flush_dirty calls from the common code except for the
>>>animation ones.
>>
>>New patch attached. This has now been tested under gui-sdl and
>>gui-win32 as well.
>
>
> GTK2 and GTK1 have different implementations. Any reason for this?
Because gdk-2.0 is cool and does all the work for us. gdk-1.2 does not,
so we have to do it ourselves.
> GTK1 and win32 have almost the same implementation. Can't this be
> unified?
It's not worth it - it would only save a couple of lines of code and
wouldn't really simplify the code flow. We would need a new GUI
function: gui_enqueue_event(...) which queues a function for callback.
In return we could add new code real_dirty_rect and real_dirty_all to be
used by these GUIs...but since most other GUIs wouldn't use them they
would just be confusing for those authors.
> While I didn't search you may tell me which calls to
> refresh_tile_mapcanvas(..., TRUE) are remaining?
There are a few left in the GUI code; none of these have been changed.
If we use the auto-event-flushing method from the most recent patch, we
can easily change all write_to_screen values to FALSE. I did not do
that initially because it required more GUI changes. We could also
still do this in two patches: one to introduce the flush code, the
second to change all of the write_to_screen values.
One problem is that the SDL event code I used is unreliable. Apparently
SDL can drop events, particularly before the main loop is entered.
After one dropped event the code cannot recover. A good partial
solution would be to move the is_flush_queued=FALSE line into
flush_dirty for SDL and possibly other GUIs.
jason
- [Freeciv-Dev] Re: (PR#3424) New flush code, (continued)
- Message not available
- [Freeciv-Dev] Re: (PR#3424) New flush code, Jason Short, 2003/02/26
- Message not available
- [Freeciv-Dev] Re: (PR#3424) New flush code, Raimar Falke, 2003/02/26
- Message not available
- [Freeciv-Dev] Re: (PR#3424) New flush code, Jason Short, 2003/02/26
- [Freeciv-Dev] Re: (PR#3424) New flush code, Raimar Falke, 2003/02/26
- [Freeciv-Dev] Re: (PR#3424) New flush code, Jason Short, 2003/02/27
- [Freeciv-Dev] Re: (PR#3424) New flush code, Raimar Falke, 2003/02/27
- [Freeciv-Dev] Re: (PR#3424) New flush code, Jason Short, 2003/02/27
- [Freeciv-Dev] Re: (PR#3424) New flush code, Rafał Bursig, 2003/02/27
- [Freeciv-Dev] Re: (PR#3424) New flush code, Jason Short, 2003/02/27
- [Freeciv-Dev] Re: (PR#3424) New flush code, Raimar Falke, 2003/02/28
- [Freeciv-Dev] Re: (PR#3424) New flush code,
Jason Short <=
- [Freeciv-Dev] Re: (PR#3424) New flush code, Raimar Falke, 2003/02/28
|
|