mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-09-21 14:24:19 +00:00
Add a migration guide section about multiple backends
This commit is contained in:
parent
04248fbd39
commit
985b0e57b2
@ -746,6 +746,49 @@ on_alpha_screen_changed (GtkWindow *window,
|
||||
</example>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>Backend-specific code</title>
|
||||
<para>
|
||||
In GTK+ 2.x, GDK could only be compiled for one backend at a time,
|
||||
and the %GDK_WINDOWING_X11 or %GDK_WINDOWING_WIN32 macros could
|
||||
be used to find out which one you are dealing with:
|
||||
<informalexample><programlisting>
|
||||
#ifdef GDK_WINDOWING_X11
|
||||
if (timestamp != GDK_CURRENT_TIME)
|
||||
gdk_x11_window_set_user_time (gdk_window, timestamp);
|
||||
#endif
|
||||
#ifdef GDK_WINDOWING_WIN32
|
||||
/* ... win32 specific code ... */
|
||||
#endif
|
||||
</programlisting></informalexample>
|
||||
In GTK+ 3, GDK can be built with multiple backends, and currently
|
||||
used backend has to be determined at runtime, typically using
|
||||
type-check macros on a #GdkDisplay or #GdkWindow. You still need
|
||||
to use the #GDK_WINDOWING macros to only compile code referring
|
||||
to supported backends:
|
||||
<informalexample><programlisting>
|
||||
#ifdef GDK_WINDOWING_X11
|
||||
if (GDK_IS_X11_DISPLAY (display))
|
||||
{
|
||||
if (timestamp != GDK_CURRENT_TIME)
|
||||
gdk_x11_window_set_user_time (gdk_window, timestamp);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
#ifdef GDK_WINDOWING_WIN32
|
||||
if (GDK_IS_WIN32_DISPLAY (display))
|
||||
{
|
||||
/* ... win32 specific code ... */
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
g_warning ("Unsupported GDK backend");
|
||||
}
|
||||
</programlisting></informalexample>
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>The GtkWidget::draw signal</title>
|
||||
<para>
|
||||
|
Loading…
Reference in New Issue
Block a user