Complete.Org: Mailing Lists: Archives: freeciv-dev: April 2006:
[Freeciv-Dev] (PR#16431) [PATCH] cairo conversion of gtk2 client
Home

[Freeciv-Dev] (PR#16431) [PATCH] cairo conversion of gtk2 client

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: patg@xxxxxxxxxxxxxxxxx
Subject: [Freeciv-Dev] (PR#16431) [PATCH] cairo conversion of gtk2 client
From: "Guest" <rt-guest@xxxxxxxxxxx>
Date: Thu, 20 Apr 2006 11:10:17 -0700
Reply-to: bugs@xxxxxxxxxxx

<URL: http://bugs.freeciv.org/Ticket/Display.html?id=16431 >

> [infyquest@xxxxxxxxx - Thu Apr 20 17:19:38 2006]:
> 
> can you add --enable-cairo flag for gtk builds so that even if dont want
> cairo support in freeciv i can opt out.
> which puts a define HAVE_CAIRO in config.h

The cairo patch tries to push everything server-side, which means using
server pixmaps instead of pixbufs for sprites and rendering surface.
This made me change the interface to both the sprite and canvas module,
and some chances were made to way pixcomms are used/implemented at the
same time. This also means it has an impact on pretty much everything
that displays a sprite image in the interface.

If you really want to be able to use cairo on demand, I could
reintegrate the gdk code, but I can already tell that this will add
_many_ ifdefs, due interface changes. Please take a look at the
difference current cairo changes to analyze if it's really worth
supporting both cairo and gdk. 

As for the gtk 2.8 dependency, it would be possible to use gtk 2.4 but
we would loose support for direct rendering on server image pixmaps
(gdkpimap). That could be handled by some preprocessor checks. As for
the portability, we would need to be sure we can get a stable rendering
backend for all platforms (which should be available in cairo 1.2,
currently in development), as opposed to the the current global
gdk-returned type of surface.

Now there's the question of doing a complete switch to cairo instead of
gdk or doing it half way, which IMHO would be more or less of a
nightmare to maintain...
Anyway tell me which solution you'd like the most.




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