gtk2/gdk
Benjamin Otte 4aac0760b3 wayland: Rewrite Cairo rendering
Also, split it into its own file - which was the original reason for
looking at this code, the rewrite was an unintentional side effect.

This changes the context to create surfaces on demand.
So whenever the compositor holds onto a surface while GDK wants to
render, it just creates a new surface. If the compositor releases
surfaces, we will retain one for the next frame to be rendered, but free
all extra ones.
This way, we should get to a stage where we have exactly as many
surfaces as needed and never allocate/free any.
2018-04-24 23:16:58 +02:00
..
broadway gdk: Add Cairo context implementations for all backends 2018-04-24 23:16:12 +02:00
quartz gdk: Add Cairo context implementations for all backends 2018-04-24 23:16:12 +02:00
resources/glsl Use GLSL version 110 for OpenGL 2 shaders. 2016-11-01 15:42:46 -03:00
wayland wayland: Rewrite Cairo rendering 2018-04-24 23:16:58 +02:00
win32 gdk: Add Cairo context implementations for all backends 2018-04-24 23:16:12 +02:00
x11 x11: Move implementation of Cairo context backends 2018-04-24 23:16:13 +02:00
COPYING
fallback-c89.c fallback-c89: Include config.h 2017-05-03 14:47:14 +01:00
gdk-autocleanup.h GdkWindow -> GdkSurface initial type rename 2018-03-20 11:40:08 +01:00
gdk-private.h Fix up indentation after GdkSurface rename 2018-03-21 09:06:31 +01:00
gdk.c gdk: Remove GDK_DEBUG=cairo-image 2018-04-24 23:16:13 +02:00
gdk.h gdk: Add GdkCairoContext 2018-04-24 23:16:12 +02:00
gdkapplaunchcontext.c The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkapplaunchcontext.h gdk: Include gio.h in gdktypes.h 2017-12-10 01:09:14 +01:00
gdkapplaunchcontextprivate.h gdk: Include gio.h in gdktypes.h 2017-12-10 01:09:14 +01:00
gdkcairo.c gdk: Remove gdk_cairo_surface_create_from_pixbuf() 2018-04-12 14:04:20 +02:00
gdkcairo.h gdk: Remove gdk_cairo_surface_create_from_pixbuf() 2018-04-12 14:04:20 +02:00
gdkcairocontext.c cairocontext: Turn cairo_create() function into a vfunc 2018-04-24 23:16:12 +02:00
gdkcairocontext.h cairocontext: Move a function 2018-04-24 23:16:12 +02:00
gdkcairocontextprivate.h cairocontext: Turn cairo_create() function into a vfunc 2018-04-24 23:16:12 +02:00
gdkclipboard.c The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkclipboard.h The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkclipboardprivate.h clipboard: Add infrastructure to store clipboards 2017-12-03 05:46:48 +01:00
gdkconfig.h.meson gdk/gdkconfig.h.meson: Add GDK_WINDOWING_WIN32 2017-09-15 21:41:15 +08:00
gdkconfig.h.win32 Clean up the pre-configured gdkconfig.h.win32 2013-05-28 13:04:37 +08:00
gdkconfig.h.win32_vulkan Visual Studio builds: Support Vulkan builds 2016-12-30 14:42:38 +08:00
gdkcontentdeserializer.c Allow binding GdkContentFormatsBuilder 2018-02-03 16:24:13 +01:00
gdkcontentdeserializer.h The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkcontentformats.c contentsformat: Avoid a GPtrArray 2018-02-25 16:47:20 +01:00
gdkcontentformats.h The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkcontentformatsprivate.h gdk: Sanitize GdkContentFormats API 2017-11-20 23:15:11 +01:00
gdkcontentprovider.c The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkcontentprovider.h The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkcontentproviderimpl.c Allow binding GdkContentFormatsBuilder 2018-02-03 16:24:13 +01:00
gdkcontentproviderimpl.h The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkcontentproviderprivate.h clipboard: Introduce GdkContentProvider 2017-12-03 05:46:47 +01:00
gdkcontentserializer.c Allow binding GdkContentFormatsBuilder 2018-02-03 16:24:13 +01:00
gdkcontentserializer.h The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkcursor.c GdkWindow -> GdkSurface initial type rename 2018-03-20 11:40:08 +01:00
gdkcursor.h The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkcursorprivate.h gdk: Add gdk_cursor_hash() and gdk_cursor_equal() 2017-11-04 00:07:13 +01:00
gdkdevice.c GdkSurface: Rename lots of stuff from window->surface 2018-03-20 15:14:10 +01:00
gdkdevice.h GdkSurface: Rename lots of stuff from window->surface 2018-03-20 15:14:10 +01:00
gdkdevicepad.c The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkdevicepad.h The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkdevicepadprivate.h gdk: Add GdkDevicePad 2016-08-23 21:01:44 +02:00
gdkdeviceprivate.h Fix up indentation after GdkSurface rename 2018-03-21 09:06:31 +01:00
gdkdevicetool.c The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkdevicetool.h The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkdevicetoolprivate.h gdk: Pass hardware ID on gdk_device_tool_new() 2016-08-23 21:01:44 +02:00
gdkdisplay.c surface: Remove GSK_SURFACE_ROOT 2018-03-21 00:58:01 +01:00
gdkdisplay.h GdkSurface: Rename lots of stuff from window->surface 2018-03-20 15:14:10 +01:00
gdkdisplaymanager.c The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkdisplaymanager.h The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkdisplaymanagerprivate.h gdk: Unvfuncify gdk_display_manager_open_display() 2013-04-19 16:23:43 -04:00
gdkdisplayprivate.h gdk: Add Cairo context implementations for all backends 2018-04-24 23:16:12 +02:00
gdkdnd.c GdkSurface: Rename lots of stuff from window->surface 2018-03-20 15:14:10 +01:00
gdkdnd.h GdkSurface: Rename lots of stuff from window->surface 2018-03-20 15:14:10 +01:00
gdkdndprivate.h GdkSurface: Rename various functions and variables 2018-03-20 12:05:26 +01:00
gdkdrawcontext.c drawcontext: Add a surface_resized() vfunc 2018-04-09 01:00:31 +02:00
gdkdrawcontext.h GdkSurface: Rename various functions and variables 2018-03-20 12:05:26 +01:00
gdkdrawcontextprivate.h drawcontext: Add a surface_resized() vfunc 2018-04-09 01:00:31 +02:00
gdkdrawingcontext.c cairocontext: Move a function 2018-04-24 23:16:12 +02:00
gdkdrawingcontext.h cairocontext: Move a function 2018-04-24 23:16:12 +02:00
gdkdrawingcontextprivate.h drawingcontext: Add a private struct 2016-11-23 18:49:48 +01:00
gdkenumtypes.c.template
gdkenumtypes.h.template Fix some oversights with header guards 2014-12-08 19:31:56 -05:00
gdkevents.c GdkSurface: Rename lots of stuff from window->surface 2018-03-20 15:14:10 +01:00
gdkevents.h GdkSurface: Rename lots of stuff from window->surface 2018-03-20 15:14:10 +01:00
gdkeventsprivate.h gdk: Remove unused area member from GdkEventExpose 2018-03-21 00:43:28 +01:00
gdkframeclock.c Add proper annotation for gdk_frame_clock_get_refresh_info 2018-03-12 16:07:39 +01:00
gdkframeclock.h The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkframeclockidle.c frameclockidle: Rename header so it's private now 2018-03-29 05:02:15 +02:00
gdkframeclockidleprivate.h frameclockidle: Rename header so it's private now 2018-03-29 05:02:15 +02:00
gdkframeclockprivate.h frametimings: reuse previous frame timing in common case 2016-04-26 09:06:07 -04:00
gdkframetimings.c The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkframetimings.h The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkgl.c gdk: Remove unused GL setting 2018-04-24 23:16:12 +02:00
gdkglcontext.c glcontext: Store the buffer age regions in the GL context 2018-04-09 01:00:31 +02:00
gdkglcontext.h GdkSurface: Rename various functions and variables 2018-03-20 12:05:26 +01:00
gdkglcontextprivate.h glcontext: Store the buffer age regions in the GL context 2018-04-09 01:00:31 +02:00
gdkglobals.c gdk: Reorganize env vars 2018-01-14 17:05:04 -05:00
gdkgltexture.c GdkSurface: Rename lots of stuff from window->surface 2018-03-20 15:14:10 +01:00
gdkgltexture.h gltexture: Rename variable 2018-03-18 18:42:20 +01:00
gdkgltextureprivate.h texture: Expose subclasses as subclasses 2018-03-18 05:57:07 +01:00
gdkinternals.h gdk: Remove GDK_DEBUG=cairo-image 2018-04-24 23:16:13 +02:00
gdkintl.h
gdkkeynames.c Keep XF86 keysym names working 2013-04-19 20:11:39 -04:00
gdkkeys.c gdk: Add some more docs 2018-02-11 00:41:31 +00:00
gdkkeys.h The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkkeysprivate.h gdkkeys: Add support to _get_scroll_lock_state() 2015-04-27 20:07:52 -03:00
gdkkeysyms-update.pl Remove gdkkeysyms-compat.h 2017-05-03 14:54:37 +01:00
gdkkeysyms.h Update gdkkeysyms.h header 2013-04-19 20:11:38 -04:00
gdkkeyuni.c Replace gdk_keymap_get_for_display by gdk_display_get_keymap 2017-12-15 07:44:58 -05:00
gdkmarshalers.list x11: Refactor xevent filtering some more 2017-12-13 01:55:56 +01:00
gdkmemorytexture.c texture: Change download vfunc 2018-03-12 17:21:45 +01:00
gdkmemorytexture.h texture: Expose subclasses as subclasses 2018-03-18 05:57:07 +01:00
gdkmemorytextureprivate.h texture: Expose subclasses as subclasses 2018-03-18 05:57:07 +01:00
gdkmonitor.c GdkSurface: Rename lots of stuff from window->surface 2018-03-20 15:14:10 +01:00
gdkmonitor.h The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkmonitorprivate.h monitor: Add a ::valid property 2017-11-01 14:17:20 -04:00
gdkpaintable.c snapshot: Redo debug messages 2018-04-24 04:06:58 +02:00
gdkpaintable.h paintable: Introduce gdk_paintable_new_empty() 2018-04-05 14:56:39 +02:00
gdkpango.c GdkSurface: Rename lots of stuff from window->surface 2018-03-20 15:14:10 +01:00
gdkpango.h Drop gdk_pango_context_get_for_display 2017-10-31 18:15:50 -04:00
gdkpipeiostream.c clipboard: Implement local fallback clipboard transfers 2017-12-03 05:46:47 +01:00
gdkpipeiostreamprivate.h clipboard: Implement local fallback clipboard transfers 2017-12-03 05:46:47 +01:00
gdkpixbuf-drawable.c GdkWindow -> GdkSurface: File renames 2018-03-20 11:46:11 +01:00
gdkpixbuf.h API: gdk: Remove ability to render window contents 2016-11-20 11:47:44 +01:00
gdkproperty.c Drop gdk_atom_intern 2017-12-13 23:39:03 -05:00
gdkproperty.h Drop gdk_atom_intern 2017-12-13 23:39:03 -05:00
gdkrectangle.c The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkrectangle.h The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkrgba.c gdkrgba: Add a missing apostrophe in a doc comment 2018-03-19 15:14:20 +00:00
gdkrgba.h The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkseat.c GdkSurface: Rename lots of stuff from window->surface 2018-03-20 15:14:10 +01:00
gdkseat.h GdkSurface: Rename lots of stuff from window->surface 2018-03-20 15:14:10 +01:00
gdkseatdefault.c GdkSurface: Rename lots of stuff from window->surface 2018-03-20 15:14:10 +01:00
gdkseatdefaultprivate.h GdkSeatDefault: Add functions to add/remove tools 2016-04-06 15:43:29 +02:00
gdkseatprivate.h GdkSurface: Rename lots of stuff from window->surface 2018-03-20 15:14:10 +01:00
gdkselection.c The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdksnapshot.c snapshot: Turn into GObject 2018-03-18 19:21:33 +01:00
gdksnapshot.h snapshot: Turn into GObject 2018-03-18 19:21:33 +01:00
gdksnapshotprivate.h snapshot: Turn into GObject 2018-03-18 19:21:33 +01:00
gdksurface.c surface: Merge function into only caller 2018-04-24 23:16:13 +02:00
gdksurface.h gdk: Add GdkCairoContext 2018-04-24 23:16:12 +02:00
gdksurfaceimpl.c surface: Make process_updates no longer be a vfunc 2018-03-21 23:28:26 +01:00
gdksurfaceimpl.h gdk: Remove gdk_surface_create_similar_image_surface() 2018-04-12 14:04:33 +02:00
gdktexture.c snapshot: Redo debug messages 2018-04-24 04:06:58 +02:00
gdktexture.h texture: Add gdk_texture_save_to_png() 2018-04-12 14:02:59 +02:00
gdktextureprivate.h texture: Change download vfunc 2018-03-12 17:21:45 +01:00
gdktypes.h gdk: Add GdkCairoContext 2018-04-24 23:16:12 +02:00
gdkversionmacros.h.in The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkvulkancontext.c vulkancontext: Add new error enum 2018-04-10 09:53:48 +02:00
gdkvulkancontext.h The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkvulkancontextprivate.h vulkan: Fix release builds 2018-01-21 15:23:17 +01:00
gen-gdk-gresources-xml.py meson: gdk: update and sync with Makefiles 2017-05-03 15:10:53 +01:00
gen-keyname-table.pl
keyname-table.h gdk: Translate some more key names 2017-10-09 20:33:14 +02:00
keynames-translate.txt gdk: Translate some more key names 2017-10-09 20:33:14 +02:00
keynames.txt Fix key "Page_Down" identified as "Next" 2013-10-24 18:48:33 -04:00
meson.build gdk: Add GdkCairoContext 2018-04-24 23:16:12 +02:00