Re: Plans for 1.3/1.4
- From: Pavel Machek <pavel atrey karlin mff cuni cz>
- To: gtk-devel-list redhat com
- Subject: Re: Plans for 1.3/1.4
- Date: Mon, 1 Mar 1999 11:17:35 +0100
Hi!
> > 4) Integration of Tor Lillqvist's Win32 port.
>
> Any ideas on how to organise the window-system specific versions of
> GDK in the source tree? Apparently CVS doesn't handle renaming of
> directories nicely, so it would be easiest to keep the current (X11)
> version in gtk+/gdk, and make a new directory gtk+/gdk-win32 for the
> Win32 version.
>
> In order to handle inclusions of <gdk/gdkx.h> and <gdk/gdkprivate.h>
> in various source files, I guess the gdkx.h and gdkprivate.h files
> would have to be still in the gdk (X11) directory, and contain also
> Win32 stuff. Hmm.
I think that we should take care not to include gdkprivate.h and
gdkx.h from gtk/ subtree. They are private to gdk and they should stay
that way.
> Another thing: (I asked about this on gimp-developer, only one reply
> which supported that verbose form.) What would be the best feature
> test macros to use for testing X11 vs Windows GDI API (or BeOS, or
> Mac, whetever)? I now use X_DISPLAY_MISSING (which autoconf seems to
> support, at least to some extent) and WINDOWS_DISPLAY.
>
> Would it be cleaner (more orthogonal) to use something like
> #if GDK_WINDOWING_API == GDK_WINDOWING_API_X11
> #elif GDK_WINDOWING_API == GDK_WINDOWING_API_WIN32
> #elif GDK_WINDOWING_API == GDK_WINDOWING_API_BEOS
>
> etc? (Or is that too verbose?) (There is not much code in gtk+/gtk
> that needs conditional compilation.)
I would prefer
if (GDK_API() == GDK_X11) {
}
or
switch (GDK_API()) {
case GDK_X11:
...
}
, where GDK_API() is either macro hardcoded to specific value
(i.e. #define GDK_API() GDK_X11)
*or* real function. gcc can optimize it out, anyway, it is much
cleaner, and - we'll need gtk runnable over multiple gdk's in future.
(Think about gtk runable over gdk.cursed or gdk.X11 at some time. The
same might have sense for gdk.beos and gdk.X11 - assuming that BeOS
has working X11 port.)
Pavel
--
The best software in life is free (not shareware)! Pavel
GCM d? s-: !g p?:+ au- a--@ w+ v- C++@ UL+++ L++ N++ E++ W--- M- Y- R+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]