gtk2/gdk/x11
Emmanuele Bassi 2cbe094b91 Allow binding GdkContentFormatsBuilder
GdkContentFormatsBuilder is currently not introspectable, as it does not
have a GType. We can turn it into a boxed type, but we need to implement
memory management for it.

The current gdk_content_formats_builder_free() function returns a newly
constructed value, so we cannot use it as a GBoxedFreeFunc; additionally
copying a GdkContentFormatsBuilder contents would make it a bit odd, as
you could get multiple identical GdkContentFormats out of the copies.

A simple approach is to model the GdkContentFormatsBuilder API to follow
the GBytes one: use reference counting for memory management, and have
a function to release a reference, return a GdkContentFormats, and reset
the GdkContentFormatsBuilder state.

For language bindings, we can provide a get_formats() function that
returns the GdkContentFormats instance and resets the builder instance,
leaving the reference count untouched.

For C convenience we can keep gdk_content_formats_builder_free(), and
make it a wrapper around gdk_content_formats_builder_get_formats(), with
the guarantee that it'll free the builder instance regardless of its
current reference count.

https://bugzilla.gnome.org/show_bug.cgi?id=793097
https://blogs.gnome.org/otte/2018/02/03/builders/
2018-02-03 16:24:13 +01:00
..
gdkapplaunchcontext-x11.c x11: Stop using GdkScreen in api 2017-11-17 10:51:55 -05:00
gdkasync.c Replace gdk_threads_add_idle* with g_idle_add() 2018-02-03 12:06:58 +01:00
gdkasync.h Change FSF Address 2012-02-27 17:06:11 +00:00
gdkclipboard-x11.c Allow binding GdkContentFormatsBuilder 2018-02-03 16:24:13 +01:00
gdkclipboard-x11.h x11: Refactor code 2017-12-13 00:56:52 +01:00
gdkcursor-x11.c gdk: Drop some unused cursor apis 2018-01-16 23:32:01 -05:00
gdkdevice-core-x11.c Make gdk logging per-display 2018-01-14 17:05:04 -05:00
gdkdevice-xi2.c Make gdk logging per-display 2018-01-14 17:05:04 -05:00
gdkdevicemanager-core-x11.c Make gdk logging per-display 2018-01-14 17:05:04 -05:00
gdkdevicemanager-x11.c Make gdk logging per-display 2018-01-14 17:05:04 -05:00
gdkdevicemanager-xi2.c Make gdk logging per-display 2018-01-14 17:05:04 -05:00
gdkdevicemanagerprivate-core.h Drop the GdkDeviceManager::display property 2017-11-25 11:04:15 -05:00
gdkdisplay-x11.c Drop the Big GDK Lock 2018-02-03 12:07:10 +01:00
gdkdisplay-x11.h gdk: Remove ability to request selection notifications 2017-12-14 04:20:48 +01:00
gdkdnd-x11.c Replace gdk_threads_add_timeout* with g_timeout_add() 2018-02-03 12:06:58 +01:00
gdkeventsource.c Drop the Big GDK Lock 2018-02-03 12:07:10 +01:00
gdkeventsource.h x11: Refactor xevent filtering some more 2017-12-13 01:55:56 +01:00
gdkeventtranslator.c x11: Constify XEvent usage 2017-12-13 00:56:52 +01:00
gdkeventtranslator.h x11: Constify XEvent usage 2017-12-13 00:56:52 +01:00
gdkgeometry-x11.c gdk: Drop support for native (and thus foreign) subwindows 2016-12-16 12:28:44 +01:00
gdkglcontext-x11.c Make gdk logging per-display 2018-01-14 17:05:04 -05:00
gdkglcontext-x11.h x11: Drop GdkX11Visual as public api 2017-11-17 13:03:11 -05:00
gdkkeys-x11.c Replace gdk_keymap_get_for_display by gdk_display_get_keymap 2017-12-15 07:44:58 -05:00
gdkmain-x11.c x11: Remove gdk_x11_grab_server() 2017-11-02 12:47:50 +01:00
gdkmonitor-x11.c x11: Stop using GdkScreen altogether 2017-11-17 10:51:55 -05:00
gdkmonitor-x11.h x11: Port to new monitor api 2016-04-27 23:18:16 -04:00
gdkprivate-x11.h Remove a dead macro 2018-01-04 18:23:36 -05:00
gdkproperty-x11.c x11: Get rid of default Atom converters 2017-12-14 13:35:32 +01:00
gdkscreen-x11.c Drop gdk_atom_intern 2017-12-13 23:39:03 -05:00
gdkscreen-x11.h x11: Constify XEvent usage 2017-12-13 00:56:52 +01:00
gdkselection-x11.c Drop gdk_atom_intern 2017-12-13 23:39:03 -05:00
gdkselectioninputstream-x11.c Make gdk logging per-display 2018-01-14 17:05:04 -05:00
gdkselectioninputstream-x11.h x11: Improve fallbacks for text 2017-12-03 05:46:46 +01:00
gdkselectionoutputstream-x11.c Make gdk logging per-display 2018-01-14 17:05:04 -05:00
gdkselectionoutputstream-x11.h x11: Refactor code 2017-12-13 00:56:52 +01:00
gdksettings.c gdk: Add an X setting for gtk-keynav-use-caret 2016-03-04 22:44:29 -05:00
gdktextlistconverter-x11.c Drop gdk_atom_intern 2017-12-13 23:39:03 -05:00
gdktextlistconverter-x11.h x11: Implement claiming the X Selection with the clipboard 2017-12-03 05:46:47 +01:00
gdkvisual-x11.c Make gdk logging per-display 2018-01-14 17:05:04 -05:00
gdkvisual-x11.h x11: Drop GdkX11Visual as public api 2017-11-17 13:03:11 -05:00
gdkvulkancontext-x11.c Rename GDK_WINDOWING_VULKAN 2016-12-09 14:11:37 -05:00
gdkvulkancontext-x11.h Rename GDK_WINDOWING_VULKAN 2016-12-09 14:11:37 -05:00
gdkwindow-x11.c Make gdk logging per-display 2018-01-14 17:05:04 -05:00
gdkwindow-x11.h gdk: Remove GdkWindow.set_device_cursor() vfunc 2017-11-02 12:42:58 +01:00
gdkx11applaunchcontext.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkx11device-core.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkx11device-xi2.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkx11device.h Move single-include guards inside include guards 2012-12-28 09:57:56 -05:00
gdkx11devicemanager-core.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkx11devicemanager-xi2.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkx11devicemanager-xi.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkx11devicemanager.h x11: Stop deriving from GdkDeviceManager 2017-11-25 11:04:15 -05:00
gdkx11display.h Document GDK_DISPLAY_XDISPLAY 2017-12-26 13:14:07 -05:00
gdkx11dnd.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkx11glcontext.h GL: Follow naming conventions 2014-10-21 23:48:12 -04:00
gdkx11keys.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkx11monitor.h x11: Port to new monitor api 2016-04-27 23:18:16 -04:00
gdkx11property.h x11: Get rid of default Atom converters 2017-12-14 13:35:32 +01:00
gdkx11screen.h x11: Stop using GdkScreen in api 2017-11-17 10:51:55 -05:00
gdkx11selection.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkx11utils.h x11: Remove gdk_x11_grab_server() 2017-11-02 12:47:50 +01:00
gdkx11window.h Remove the gdk backend API too 2017-05-02 16:17:33 -04:00
gdkx-autocleanups.h x11: Drop GdkX11Visual as public api 2017-11-17 13:03:11 -05:00
gdkx.h x11: Drop GdkX11Visual as public api 2017-11-17 13:03:11 -05:00
gdkxftdefaults.c x11: Stop using GdkScreen in api 2017-11-17 10:51:55 -05:00
gdkxid.c x11: Store toplevel list in GdkDisplay 2017-11-13 16:32:34 -05:00
meson.build x11: Implement claiming the X Selection with the clipboard 2017-12-03 05:46:47 +01:00
MwmUtil.h Change FSF Address 2012-02-27 17:06:11 +00:00
xsettings-client.c Make gdk logging per-display 2018-01-14 17:05:04 -05:00
xsettings-client.h x11: Constify XEvent usage 2017-12-13 00:56:52 +01:00