Matthias Clasen
b4802e3042
Rename x11-specific GdkDevice[Manager] implementations
...
Make them all fit in the gdk_x11_ prefix, and make the
get_type functions and standard macros available in headers.
2010-12-21 12:07:09 -05:00
Matthias Clasen
5cddc7ccbb
Rename GdkDevice[Manager]Core to GdkX11Device[Manager]Core
...
This is mainly to avoid clash with the classes of the same
name in the quartz backend.
2010-12-21 12:07:09 -05:00
Matthias Clasen
e96c193d06
Rename GdkKeymapX11 to GdkX11Keymap
...
And add a gdkx11keys.h header file.
2010-12-21 12:07:09 -05:00
Matthias Clasen
146fd989d6
Rename GdkDisplayManagerX11 to GdkX11DisplayManager
...
And add a gdkx11displaymanager.h header file.
2010-12-21 12:07:09 -05:00
Benjamin Otte
36893a9ef8
gdk: Make GdkWindow abstract
...
This way backend implementors get an error if they don't set
display_class->window_type to their subclass. And that's exactly what we
want.
2010-12-21 12:07:09 -05:00
Benjamin Otte
dcb03b1085
gdk: Use G_DEFINE_TYPE for GdkWindow
2010-12-21 12:07:08 -05:00
Benjamin Otte
19699989e5
x11: Add a GdkX11Window class for X11 windows
2010-12-21 12:07:08 -05:00
Benjamin Otte
af7afbbe06
gdk: Allow display subclasses to override the type used for windows
...
We want to have different window types for different displays, so we can
write code like this:
#if GDK_WINDOWING_X11
if (GDK_IS_X11_WINDOW (window))
{
/* do x11 stuff */
}
else
#endif
#if GDK_WINDOWING_WAYLAND
if (GDK_IS_WAYLAND_WINDOW (window))
{
/* do wayland stuff */
}
else
#endif
{
/* do stuff for unsupported system */
}
This requires different GdkWindow types and we currently don't have
that, as only the GdkWindowImpl differs. With this method, every backend
defines a custom type that's just a simple subclass of GdkWindow. This
way GdkWindow behaves like all the other types (visuals, screens,
displays) and we can write code like the above.
2010-12-21 12:07:08 -05:00
Benjamin Otte
3036922b3d
gdk: Create windows via _gdk_display_create_window()
...
THe use of this function will become visible in the next commits. But
wrapping g_object_new() is a generally a good idea anyway.
2010-12-21 12:07:08 -05:00
Benjamin Otte
503087dfc9
x11: Export GdkX11Screen
2010-12-21 12:07:08 -05:00
Benjamin Otte
a8b69df376
x11: Rename GdkScreenX11 to GdkX11Screen
2010-12-21 12:07:08 -05:00
Benjamin Otte
b154d3abf6
x11: Export GdkX11Visual
2010-12-21 12:07:08 -05:00
Benjamin Otte
d185987ebd
x11: Rename GdkVisualX11 to GdkX11Visual
2010-12-21 12:07:08 -05:00
Benjamin Otte
86e0a9aef7
x11: Have a proper GdkVisualX11Class struct
2010-12-21 12:07:08 -05:00
Benjamin Otte
21d8160c57
x11: Export GdkX11Cursor
2010-12-21 12:07:08 -05:00
Benjamin Otte
4848bf2719
x11: typedef GdkX11Display to GdkDisplay
...
This is for compatibility reasons. We want to change APIs that operate
on X11 objects to take the X11 objects as arguments. However, this would
break a lot of APIs and we'd like to avoid this, so we play this little
trick (we will use the same trick for the other X11 objects). Also,
gobject-introspection and other bindings can correctly attach the
functions to the correct types as it is the same scheme that GDK2 used
for pixmaps, windows and drawables.
For GTK 4, we will remove this trick, so apps should properly cast their
objects right now.
Unfortunately, I don't think there is a way to use
GDK_DISABLE_DEPRECATED or similar macros to check for proper type casts
while compiling ensure compatibility with future GDK versions. I'm free
to consider them though.
2010-12-21 12:07:07 -05:00
Benjamin Otte
eba4529246
x11: Export GdkX11Display
2010-12-21 12:07:07 -05:00
Benjamin Otte
4db086da4b
x11: Rename GdkDisplayX11 to GdkX11Display
...
Also rename all the macros etc.
2010-12-21 12:07:07 -05:00
Benjamin Otte
8e2240f699
x11: Rename GdkDisplayX11 to GdkX11Display
2010-12-21 12:07:07 -05:00
Benjamin Otte
85bd61778f
API: gdk: GDK_DISPLAY_OBJECT() => GDK_DISPLAY()
...
GDK_DISPLAY_OBJECT is now deprecated. No need to keep failures from
gtk1 around.
2010-12-21 12:07:07 -05:00
Benjamin Otte
04d1459fca
x11: Move remaining APIs into gdkx11utils.h
...
Now gdkx.h is a clean header equivalent to gdk.h.
2010-12-21 12:07:07 -05:00
Benjamin Otte
dd177b5201
x11: Move atom API into gdkx11property.h
2010-12-21 12:07:07 -05:00
Benjamin Otte
ebe46e6f9d
x11: Move selection-specific API into gdkx11selection.h
2010-12-21 12:07:07 -05:00
Benjamin Otte
7949073dd5
x11: Move display-specific APIs into gdkx11display.h
2010-12-21 12:07:06 -05:00
Benjamin Otte
6dfa90f57c
x11: Move screen-specific API into gdkx11screen.h
2010-12-21 12:07:06 -05:00
Benjamin Otte
0ca6a7ab20
x11: Move visual-specific API into gdkx11visual.h
2010-12-21 12:07:06 -05:00
Benjamin Otte
55f3451754
x11: Move cursor API into gdkx11cursor.h
2010-12-21 12:07:06 -05:00
Benjamin Otte
124cf96850
x11: Split out public window API into gdkx11window.h
2010-12-21 12:07:06 -05:00
Benjamin Otte
66f7c3a562
API: gdk: gdk_display_warp_device() => gdk_device_warp()
...
warping devices has nothing to do with displays, so putting it there
seems weird.
2010-12-21 12:07:06 -05:00
Benjamin Otte
7a33592231
gdk: Move gdk_cursor_get_image() to the base class
...
.. and make it call a vfunc on the cursor
2010-12-21 12:07:06 -05:00
Benjamin Otte
60dc856daf
x11: Remove duplicated docs
...
They're in gdk/gdkdisplay.c now.
2010-12-21 12:07:06 -05:00
Benjamin Otte
095d1905a9
x11: Don't keep the display around anymore
...
Use gdk_cursor_get_display() instead.
2010-12-21 12:07:06 -05:00
Benjamin Otte
4793bd3399
gdk: Move gdk_cursor_get_display() out of the backends
...
Now that we store the display inside the cursor, that change is obvious.
2010-12-21 12:07:05 -05:00
Benjamin Otte
7a14b30ea3
gdk: Make display a property of GdkCursor
2010-12-21 12:07:05 -05:00
Benjamin Otte
28b2d7e5da
gdk: Make cursor-type a property of the cursor
2010-12-21 12:07:05 -05:00
Benjamin Otte
3e068e921f
API: gdk: Deprecate gdk_cursor_ref() and gdk_cursor_unref()
...
Now that GdkCursor is a GObject, it doesn't need custom refcount
handling anymore.
2010-12-21 12:07:05 -05:00
Benjamin Otte
73d8ffd74f
testgtk: Use g_object_unref instead of gdk_cursor_unref
2010-12-21 12:07:05 -05:00
Benjamin Otte
e622ae9a68
gtk-demo: Use g_object_unref instead of gdk_cursor_unref
2010-12-21 12:07:05 -05:00
Benjamin Otte
8f1f743903
gtk: Use g_object_unref instead of gdk_cursor_unref
2010-12-21 12:07:05 -05:00
Benjamin Otte
a9637f05b6
gdk: Use g_object_(un)ref instead of gdk_cursor_(un)ref
2010-12-21 12:07:05 -05:00
Benjamin Otte
768b425ce6
x11: Use g_object_(un)ref instead of gdk_cursor_(un)ref
2010-12-21 12:07:04 -05:00
Benjamin Otte
0b4913a166
gdk: Make GdkCursor a GObject
...
Also port the X11 implementation. Win32 and Quartz need to be ported
still.
2010-12-21 12:07:04 -05:00
Benjamin Otte
66e3894539
gdk: Move GdkCursor definition into a private header
2010-12-21 12:07:04 -05:00
Benjamin Otte
2eef91ad93
x11: Move GdkCursorPrivate into the C file
2010-12-21 12:07:04 -05:00
Benjamin Otte
8e3afc6e5a
x11: Use public API to access cursor's xcursor
2010-12-21 12:07:04 -05:00
Matthias Clasen
3d5d558393
Downgrade some Since tags
2010-12-21 12:07:04 -05:00
Matthias Clasen
2650328ea8
Add win32 implementation for foreign window functions
2010-12-21 12:07:04 -05:00
Matthias Clasen
58529e69ec
Drop sm_client_id implementation for Quartz
2010-12-21 12:07:04 -05:00
Matthias Clasen
10e23de49e
Drop sm_client_id win32 implementation
2010-12-21 12:07:04 -05:00
Matthias Clasen
00e2b949eb
Reinstate the correct field value
2010-12-21 12:07:03 -05:00