diff --git a/lib/CloseButton.vala b/lib/CloseButton.vala index 1b2e1546c..a414b833f 100644 --- a/lib/CloseButton.vala +++ b/lib/CloseButton.vala @@ -33,10 +33,7 @@ public class Gala.CloseButton : Clutter.Actor { var pixbuf = get_close_button_pixbuf (scale); if (pixbuf != null) { try { - var image = new Clutter.Image (); - Cogl.PixelFormat pixel_format = (pixbuf.get_has_alpha () ? Cogl.PixelFormat.RGBA_8888 : Cogl.PixelFormat.RGB_888); - image.set_data (pixbuf.get_pixels (), pixel_format, pixbuf.width, pixbuf.height, pixbuf.rowstride); - + var image = new Gala.Image.from_pixbuf (pixbuf); pixbuf_actor.set_content (image); pixbuf_actor.set_size (pixbuf.width, pixbuf.height); set_size (pixbuf.width, pixbuf.height); diff --git a/lib/DragDropAction.vala b/lib/DragDropAction.vala index b5fca79fd..5162aad02 100644 --- a/lib/DragDropAction.vala +++ b/lib/DragDropAction.vala @@ -313,7 +313,11 @@ namespace Gala { event.get_coords (out x, out y); if (!dragging && clicked) { +#if HAS_MUTTER47 + var drag_threshold = actor.context.get_settings ().dnd_drag_threshold; +#else var drag_threshold = Clutter.Settings.get_default ().dnd_drag_threshold; +#endif if (Math.fabsf (last_x - x) > drag_threshold || Math.fabsf (last_y - y) > drag_threshold) { handle = drag_begin (last_x, last_y); if (handle == null) { diff --git a/lib/Image.vala b/lib/Image.vala new file mode 100644 index 000000000..b69facba4 --- /dev/null +++ b/lib/Image.vala @@ -0,0 +1,75 @@ +/* + * Copyright 2015 Corentin Noël + * Copyright 2025 elementary, Inc. + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +#if !HAS_MUTTER48 +public class Gala.Image : Clutter.Image { + public Image.from_pixbuf (Gdk.Pixbuf pixbuf) { + Object (); + + Cogl.PixelFormat pixel_format = (pixbuf.get_has_alpha () ? Cogl.PixelFormat.RGBA_8888 : Cogl.PixelFormat.RGB_888); + try { + set_data (pixbuf.get_pixels (), pixel_format, pixbuf.width, pixbuf.height, pixbuf.rowstride); + } catch (Error e) {} + } +} +#else +public class Gala.Image : GLib.Object, Clutter.Content { + Gdk.Pixbuf? pixbuf; + Cogl.Texture? texture; + uint width; + uint height; + + public Image.from_pixbuf (Gdk.Pixbuf pixbuf) { + this.pixbuf = pixbuf; + width = pixbuf.width; + height = pixbuf.height; + invalidate (); + } + + public bool get_preferred_size (out float width, out float height) { + if (texture == null) { + width = 0; + height = 0; + return false; + } + + width = texture.get_width (); + height = texture.get_height (); + return true; + } + + public void paint_content (Clutter.Actor actor, Clutter.PaintNode node, Clutter.PaintContext paint_context) { + if (pixbuf != null && texture == null) { + var cogl_context = actor.context.get_backend ().get_cogl_context (); + Cogl.PixelFormat pixel_format = (pixbuf.get_has_alpha () ? Cogl.PixelFormat.RGBA_8888 : Cogl.PixelFormat.RGB_888); + try { + texture = new Cogl.Texture2D.from_data (cogl_context, pixbuf.width, pixbuf.height, pixel_format, pixbuf.rowstride, pixbuf.get_pixels ()); + if (width != texture.get_width () || height != texture.get_height ()) { + width = texture.get_width (); + height = texture.get_height (); + invalidate_size (); + } + } catch (Error e) { + critical (e.message); + } + } + + if (texture == null) + return; + + var content_node = actor.create_texture_paint_node (texture); + content_node.set_static_name ("Image Content"); + node.add_child (content_node); + } + + public void invalidate () { + texture = null; + } + + public void invalidate_size () { + } +} +#endif diff --git a/lib/Utils.vala b/lib/Utils.vala index 1ce8ebfde..834aa3398 100644 --- a/lib/Utils.vala +++ b/lib/Utils.vala @@ -385,13 +385,9 @@ namespace Gala { texture.reactive = true; if (pixbuf != null) { - try { - var image = new Clutter.Image (); - Cogl.PixelFormat pixel_format = (pixbuf.get_has_alpha () ? Cogl.PixelFormat.RGBA_8888 : Cogl.PixelFormat.RGB_888); - image.set_data (pixbuf.get_pixels (), pixel_format, pixbuf.width, pixbuf.height, pixbuf.rowstride); - texture.set_content (image); - texture.set_size (pixbuf.width, pixbuf.height); - } catch (Error e) {} + var image = new Gala.Image.from_pixbuf (pixbuf); + texture.set_content (image); + texture.set_size (pixbuf.width, pixbuf.height); } else { // we'll just make this red so there's at least something as an // indicator that loading failed. Should never happen and this diff --git a/lib/WindowIcon.vala b/lib/WindowIcon.vala index b1e991c1d..aef6567fd 100644 --- a/lib/WindowIcon.vala +++ b/lib/WindowIcon.vala @@ -46,11 +46,7 @@ public class Gala.WindowIcon : Clutter.Actor { height = icon_size * scale; var pixbuf = Gala.Utils.get_icon_for_window (window, icon_size, scale); - try { - var image = new Clutter.Image (); - Cogl.PixelFormat pixel_format = (pixbuf.get_has_alpha () ? Cogl.PixelFormat.RGBA_8888 : Cogl.PixelFormat.RGB_888); - image.set_data (pixbuf.get_pixels (), pixel_format, pixbuf.width, pixbuf.height, pixbuf.rowstride); - set_content (image); - } catch (Error e) {} + var image = new Gala.Image.from_pixbuf (pixbuf); + set_content (image); } } diff --git a/lib/meson.build b/lib/meson.build index 477825dd2..640147a2b 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -13,6 +13,7 @@ gala_lib_sources = files( 'Drawing/Color.vala', 'Drawing/StyleManager.vala', 'Drawing/Utilities.vala', + 'Image.vala', 'Plugin.vala', 'ShadowEffect.vala', 'Utils.vala', diff --git a/meson.build b/meson.build index bc7674f49..2cd1390ed 100644 --- a/meson.build +++ b/meson.build @@ -137,6 +137,17 @@ if mutter47_dep.found() vala_flags = ['--define', 'HAS_MUTTER43', '--define', 'HAS_MUTTER44', '--define', 'HAS_MUTTER45', '--define', 'HAS_MUTTER46', '--define', 'HAS_MUTTER47'] endif +mutter48_dep = dependency('libmutter-16', version: ['>= 48', '< 49'], required: false) +if mutter48_dep.found() + libmutter_dep = dependency('libmutter-16', version: '>= 48') + mutter_dep = [ + libmutter_dep, + dependency('mutter-mtk-16'), dependency('mutter-cogl-16'), + dependency('mutter-clutter-16') + ] + vala_flags = ['--define', 'HAS_MUTTER43', '--define', 'HAS_MUTTER44', '--define', 'HAS_MUTTER45', '--define', 'HAS_MUTTER46', '--define', 'HAS_MUTTER47', '--define', 'HAS_MUTTER48'] +endif + if mutter_dep.length() == 0 error ('No supported mutter library found!') endif diff --git a/plugins/pip/Main.vala b/plugins/pip/Main.vala index 958187f9c..7564d0295 100644 --- a/plugins/pip/Main.vala +++ b/plugins/pip/Main.vala @@ -137,7 +137,11 @@ public class Gala.Plugins.PIP.Plugin : Gala.Plugin { private Meta.WindowActor? get_window_actor_at (int x, int y) { unowned Meta.Display display = wm.get_display (); +#if HAS_MUTTER48 + unowned List actors = display.get_compositor ().get_window_actors (); +#else unowned List actors = display.get_window_actors (); +#endif var copy = actors.copy (); copy.reverse (); @@ -161,7 +165,11 @@ public class Gala.Plugins.PIP.Plugin : Gala.Plugin { private Meta.WindowActor? get_active_window_actor () { unowned Meta.Display display = wm.get_display (); +#if HAS_MUTTER48 + unowned List actors = display.get_compositor ().get_window_actors (); +#else unowned List actors = display.get_window_actors (); +#endif var copy = actors.copy (); copy.reverse (); diff --git a/plugins/pip/PopupWindow.vala b/plugins/pip/PopupWindow.vala index e2f8ad4db..de0c6ab5f 100644 --- a/plugins/pip/PopupWindow.vala +++ b/plugins/pip/PopupWindow.vala @@ -201,7 +201,11 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor { } private Clutter.Actor on_move_begin () { +#if HAS_MUTTER48 + display.set_cursor (Meta.Cursor.MOVE); +#else display.set_cursor (Meta.Cursor.DND_IN_DRAG); +#endif return this; } @@ -304,7 +308,11 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor { opacity = 0; restore_easing_state (); +#if HAS_MUTTER48 + GLib.Timeout.add (duration, () => { +#else Clutter.Threads.Timeout.add (duration, () => { +#endif closed (); return Source.REMOVE; }); diff --git a/src/ColorFilters/ColorblindnessCorrectionEffect.vala b/src/ColorFilters/ColorblindnessCorrectionEffect.vala index 8ed146183..9ab3232be 100644 --- a/src/ColorFilters/ColorblindnessCorrectionEffect.vala +++ b/src/ColorFilters/ColorblindnessCorrectionEffect.vala @@ -32,7 +32,11 @@ public class Gala.ColorblindnessCorrectionEffect : Clutter.ShaderEffect { public ColorblindnessCorrectionEffect (int mode, double strength) { Object ( +#if HAS_MUTTER48 + shader_type: Cogl.ShaderType.FRAGMENT, +#else shader_type: Clutter.ShaderType.FRAGMENT_SHADER, +#endif mode: mode, strength: strength ); diff --git a/src/ColorFilters/MonochromeEffect.vala b/src/ColorFilters/MonochromeEffect.vala index 6be200e59..5bbf6b360 100644 --- a/src/ColorFilters/MonochromeEffect.vala +++ b/src/ColorFilters/MonochromeEffect.vala @@ -24,7 +24,11 @@ public class Gala.MonochromeEffect : Clutter.ShaderEffect { public MonochromeEffect (double strength) { Object ( +#if HAS_MUTTER48 + shader_type: Cogl.ShaderType.FRAGMENT, +#else shader_type: Clutter.ShaderType.FRAGMENT_SHADER, +#endif strength: strength ); diff --git a/src/DesktopIntegration.vala b/src/DesktopIntegration.vala index ea835888a..3e5d5ff00 100644 --- a/src/DesktopIntegration.vala +++ b/src/DesktopIntegration.vala @@ -215,10 +215,18 @@ public class Gala.DesktopIntegration : GLib.Object { transition.stopped.connect (() => { notifying = false; +#if HAS_MUTTER48 + wm.get_display ().get_compositor ().enable_unredirect (); +#else wm.get_display ().enable_unredirect (); +#endif }); +#if HAS_MUTTER48 + wm.get_display ().get_compositor ().disable_unredirect (); +#else wm.get_display ().disable_unredirect (); +#endif ((Meta.WindowActor) window.get_compositor_private ()).add_transition ("notify-already-focused", transition); } diff --git a/src/InternalUtils.vala b/src/InternalUtils.vala index 5f69677f3..bdb8b70be 100644 --- a/src/InternalUtils.vala +++ b/src/InternalUtils.vala @@ -68,7 +68,11 @@ namespace Gala { new_window.change_workspace_by_index (index, false); +#if HAS_MUTTER48 + unowned List actors = new_window.get_display ().get_compositor ().get_window_actors (); +#else unowned List actors = new_window.get_display ().get_window_actors (); +#endif foreach (unowned Meta.WindowActor actor in actors) { if (actor.is_destroyed ()) continue; @@ -338,7 +342,9 @@ namespace Gala { } public static void bell_notify (Meta.Display display) { -#if HAS_MUTTER47 +#if HAS_MUTTER48 + display.get_compositor ().get_stage ().context.get_backend ().get_default_seat ().bell_notify (); +#elif HAS_MUTTER47 display.get_stage ().context.get_backend ().get_default_seat ().bell_notify (); #else Clutter.get_default_backend ().get_default_seat ().bell_notify (); diff --git a/src/ScreenshotManager.vala b/src/ScreenshotManager.vala index 4931c7aab..e0eccb30a 100644 --- a/src/ScreenshotManager.vala +++ b/src/ScreenshotManager.vala @@ -589,7 +589,11 @@ public class Gala.ScreenshotManager : Object { } private Cairo.ImageSurface composite_stage_cursor (Cairo.ImageSurface image, Cairo.RectangleInt image_rect) { - unowned Meta.CursorTracker cursor_tracker = wm.get_display ().get_cursor_tracker (); +#if HAS_MUTTER48 + unowned var cursor_tracker = wm.get_display ().get_compositor ().get_backend ().get_cursor_tracker (); +#else + unowned var cursor_tracker = wm.get_display ().get_cursor_tracker (); +#endif Graphene.Point coords = {}; cursor_tracker.get_pointer (out coords, null); diff --git a/src/ShellClients/HideTracker.vala b/src/ShellClients/HideTracker.vala index 8aeb7bcfe..f90bd538f 100644 --- a/src/ShellClients/HideTracker.vala +++ b/src/ShellClients/HideTracker.vala @@ -61,7 +61,11 @@ public class Gala.HideTracker : Object { window.unmanaged.connect (schedule_update); }); - var cursor_tracker = display.get_cursor_tracker (); +#if HAS_MUTTER48 + unowned var cursor_tracker = display.get_compositor ().get_backend ().get_cursor_tracker (); +#else + unowned var cursor_tracker = display.get_cursor_tracker (); +#endif cursor_tracker.position_invalidated.connect (() => { var has_pointer = panel.window.has_pointer (); @@ -80,7 +84,11 @@ public class Gala.HideTracker : Object { pan_action.gesture_begin.connect (check_valid_gesture); pan_action.pan.connect (on_pan); +#if HAS_MUTTER48 + display.get_compositor ().get_stage ().add_action_full ("panel-swipe-gesture", CAPTURE, pan_action); +#else display.get_stage ().add_action_full ("panel-swipe-gesture", CAPTURE, pan_action); +#endif panel.notify["anchor"].connect (setup_barrier); diff --git a/src/Widgets/DwellClickTimer.vala b/src/Widgets/DwellClickTimer.vala index 0abfa8e94..3b01db8b7 100644 --- a/src/Widgets/DwellClickTimer.vala +++ b/src/Widgets/DwellClickTimer.vala @@ -65,7 +65,11 @@ public class Gala.DwellClickTimer : Clutter.Actor, Clutter.Animatable { var scale = display.get_monitor_scale (display.get_current_monitor ()); update_cursor_size (scale); +#if HAS_MUTTER48 + unowned var tracker = display.get_compositor ().get_backend ().get_cursor_tracker (); +#else unowned var tracker = display.get_cursor_tracker (); +#endif Graphene.Point coords = {}; tracker.get_pointer (out coords, null); diff --git a/src/Widgets/MultitaskingView/IconGroup.vala b/src/Widgets/MultitaskingView/IconGroup.vala index 8c3a860ef..cd978e5f4 100644 --- a/src/Widgets/MultitaskingView/IconGroup.vala +++ b/src/Widgets/MultitaskingView/IconGroup.vala @@ -416,7 +416,11 @@ public class Gala.IconGroup : CanvasActor { // disable reactivity so that workspace thumbs can get events reactive = false; +#if HAS_MUTTER48 + display.set_cursor (Meta.Cursor.MOVE); +#else display.set_cursor (Meta.Cursor.DND_IN_DRAG); +#endif return this; } diff --git a/src/Widgets/MultitaskingView/MonitorClone.vala b/src/Widgets/MultitaskingView/MonitorClone.vala index 0ed759dde..eec6d59a4 100644 --- a/src/Widgets/MultitaskingView/MonitorClone.vala +++ b/src/Widgets/MultitaskingView/MonitorClone.vala @@ -41,7 +41,11 @@ public class Gala.MonitorClone : ActorTarget { display.window_entered_monitor.connect (window_entered); display.window_left_monitor.connect (window_left); +#if HAS_MUTTER48 + unowned GLib.List window_actors = display.get_compositor ().get_window_actors (); +#else unowned GLib.List window_actors = display.get_window_actors (); +#endif foreach (unowned Meta.WindowActor window_actor in window_actors) { if (window_actor.is_destroyed ()) continue; diff --git a/src/Widgets/MultitaskingView/WindowClone.vala b/src/Widgets/MultitaskingView/WindowClone.vala index a1a891a89..6abc4f474 100644 --- a/src/Widgets/MultitaskingView/WindowClone.vala +++ b/src/Widgets/MultitaskingView/WindowClone.vala @@ -498,7 +498,11 @@ public class Gala.WindowClone : ActorTarget, RootTarget { close_button.opacity = 0; window_title.opacity = 0; +#if HAS_MUTTER48 + wm.get_display ().set_cursor (Meta.Cursor.MOVE); +#else wm.get_display ().set_cursor (Meta.Cursor.DND_IN_DRAG); +#endif return this; } @@ -551,7 +555,11 @@ public class Gala.WindowClone : ActorTarget, RootTarget { } } +#if HAS_MUTTER48 + wm.get_display ().set_cursor (hovered ? Meta.Cursor.MOVE: Meta.Cursor.NO_DROP); +#else wm.get_display ().set_cursor (hovered ? Meta.Cursor.DND_MOVE: Meta.Cursor.DND_IN_DRAG); +#endif } /** diff --git a/src/Widgets/PointerLocator.vala b/src/Widgets/PointerLocator.vala index 17195b52a..b8d27f85d 100644 --- a/src/Widgets/PointerLocator.vala +++ b/src/Widgets/PointerLocator.vala @@ -137,7 +137,11 @@ public class Gala.PointerLocator : Clutter.Actor, Clutter.Animatable { stroke_color = new Cairo.Pattern.rgb (rgba.red, rgba.green, rgba.blue); fill_color = new Cairo.Pattern.rgba (rgba.red, rgba.green, rgba.blue, BACKGROUND_OPACITY); +#if HAS_MUTTER48 + unowned var tracker = display.get_compositor ().get_backend ().get_cursor_tracker (); +#else unowned var tracker = display.get_cursor_tracker (); +#endif Graphene.Point coords = {}; tracker.get_pointer (out coords, null); diff --git a/src/Widgets/SessionLocker.vala b/src/Widgets/SessionLocker.vala index 77f71c111..84053dc72 100644 --- a/src/Widgets/SessionLocker.vala +++ b/src/Widgets/SessionLocker.vala @@ -325,7 +325,12 @@ public class Gala.SessionLocker : Clutter.Actor { activation_time = GLib.get_monotonic_time (); } - wm.get_display ().get_cursor_tracker ().set_pointer_visible (false); +#if HAS_MUTTER48 + unowned var tracker = wm.get_display ().get_compositor ().get_backend ().get_cursor_tracker (); +#else + unowned var tracker = wm.get_display ().get_cursor_tracker (); +#endif + tracker.set_pointer_visible (false); visible = true; grab_key_focus (); modal_proxy = wm.push_modal (this); @@ -388,7 +393,12 @@ public class Gala.SessionLocker : Clutter.Actor { modal_proxy = null; } - wm.get_display ().get_cursor_tracker ().set_pointer_visible (true); +#if HAS_MUTTER48 + unowned var tracker = wm.get_display ().get_compositor ().get_backend ().get_cursor_tracker (); +#else + unowned var tracker = wm.get_display ().get_cursor_tracker (); +#endif + tracker.set_pointer_visible (true); visible = false; activation_time = 0; diff --git a/src/Widgets/WindowOverview.vala b/src/Widgets/WindowOverview.vala index 5380e958b..a112b900d 100644 --- a/src/Widgets/WindowOverview.vala +++ b/src/Widgets/WindowOverview.vala @@ -260,7 +260,11 @@ public class Gala.WindowOverview : ActorTarget, RootTarget, ActivatableComponent } wm.get_display ().window_left_monitor.disconnect (window_left_monitor); +#if HAS_MUTTER48 + GLib.Timeout.add (MultitaskingView.ANIMATION_DURATION, () => { +#else Clutter.Threads.Timeout.add (MultitaskingView.ANIMATION_DURATION, () => { +#endif cleanup (); return Source.REMOVE; diff --git a/src/Widgets/WindowSwitcher/WindowSwitcher.vala b/src/Widgets/WindowSwitcher/WindowSwitcher.vala index bb7581089..1ef8afa38 100644 --- a/src/Widgets/WindowSwitcher/WindowSwitcher.vala +++ b/src/Widgets/WindowSwitcher/WindowSwitcher.vala @@ -540,7 +540,12 @@ public class Gala.WindowSwitcher : CanvasActor, GestureTarget, RootTarget { private inline Clutter.ModifierType get_current_modifiers () { Clutter.ModifierType modifiers; - wm.get_display ().get_cursor_tracker ().get_pointer (null, out modifiers); +#if HAS_MUTTER48 + unowned var tracker = wm.get_display ().get_compositor ().get_backend ().get_cursor_tracker (); +#else + unowned var tracker = wm.get_display ().get_cursor_tracker (); +#endif + tracker.get_pointer (null, out modifiers); return modifiers & Clutter.ModifierType.MODIFIER_MASK; } diff --git a/src/WindowListener.vala b/src/WindowListener.vala index 4eb18df5d..28953faac 100644 --- a/src/WindowListener.vala +++ b/src/WindowListener.vala @@ -29,7 +29,12 @@ public class Gala.WindowListener : Object { instance = new WindowListener (); - foreach (unowned Meta.WindowActor actor in display.get_window_actors ()) { +#if HAS_MUTTER48 + unowned List actors = display.get_compositor ().get_window_actors (); +#else + unowned List actors = display.get_window_actors (); +#endif + foreach (unowned Meta.WindowActor actor in actors) { if (actor.is_destroyed ()) continue; diff --git a/src/WindowManager.vala b/src/WindowManager.vala index bf1cb3813..b3f2e1bd6 100644 --- a/src/WindowManager.vala +++ b/src/WindowManager.vala @@ -62,7 +62,9 @@ namespace Gala { private SystemBackground system_background; +#if !HAS_MUTTER48 private Meta.PluginInfo info; +#endif private WindowSwitcher? window_switcher = null; @@ -108,8 +110,10 @@ namespace Gala { private GLib.Settings new_behavior_settings; construct { +#if !HAS_MUTTER48 info = Meta.PluginInfo () {name = "Gala", version = Config.VERSION, author = "Gala Developers", license = "GPLv3", description = "A nice elementary window manager"}; +#endif behavior_settings = new GLib.Settings ("io.elementary.desktop.wm.behavior"); new_behavior_settings = new GLib.Settings ("io.elementary.desktop.wm.behavior"); @@ -180,7 +184,11 @@ namespace Gala { notification_stack = new NotificationStack (display); +#if HAS_MUTTER48 + stage = display.get_compositor ().get_stage () as Clutter.Stage; +#else stage = display.get_stage () as Clutter.Stage; +#endif var background_settings = new GLib.Settings ("org.gnome.desktop.background"); var color = background_settings.get_string ("primary-color"); #if HAS_MUTTER47 @@ -222,7 +230,11 @@ namespace Gala { update_ui_group_size (); stage.add_child (ui_group); +#if HAS_MUTTER48 + window_group = display.get_compositor ().get_window_group (); +#else window_group = display.get_window_group (); +#endif stage.remove_child (window_group); ui_group.add_child (window_group); @@ -231,7 +243,11 @@ namespace Gala { window_group.add_child (background_group); window_group.set_child_below_sibling (background_group, null); +#if HAS_MUTTER48 + top_window_group = display.get_compositor ().get_top_window_group (); +#else top_window_group = display.get_top_window_group (); +#endif stage.remove_child (top_window_group); ui_group.add_child (top_window_group); @@ -687,7 +703,11 @@ namespace Gala { proxy.grab = stage.grab (actor); if (modal_stack.size == 1) { +#if HAS_MUTTER48 + display.get_compositor ().disable_unredirect (); +#else display.disable_unredirect (); +#endif } return proxy; @@ -711,7 +731,11 @@ namespace Gala { unowned Meta.Display display = get_display (); +#if HAS_MUTTER48 + display.get_compositor ().enable_unredirect (); +#else display.enable_unredirect (); +#endif } /** @@ -1807,8 +1831,10 @@ namespace Gala { return new InhibitShortcutsDialog (window_tracker.get_app_for_window (window), window); } +#if !HAS_MUTTER48 public override unowned Meta.PluginInfo? plugin_info () { return info; } +#endif } } diff --git a/src/WorkspaceManager.vala b/src/WorkspaceManager.vala index b3ee12bda..2e2c84509 100644 --- a/src/WorkspaceManager.vala +++ b/src/WorkspaceManager.vala @@ -109,7 +109,11 @@ public class Gala.WorkspaceManager : Object { } } +#if HAS_MUTTER48 + unowned var window_actors = display.get_compositor ().get_window_actors (); +#else unowned var window_actors = display.get_window_actors (); +#endif foreach (var actor in window_actors) { var win = actor.meta_window; diff --git a/src/Zoom.vala b/src/Zoom.vala index cb2dba59f..c5fac3d51 100644 --- a/src/Zoom.vala +++ b/src/Zoom.vala @@ -44,7 +44,11 @@ public class Gala.Zoom : Object, GestureTarget, RootTarget { var scroll_action = new SuperScrollAction (display); scroll_action.triggered.connect (handle_super_scroll); +#if HAS_MUTTER48 + display.get_compositor ().get_stage ().add_action_full ("zoom-super-scroll-action", CAPTURE, scroll_action); +#else display.get_stage ().add_action_full ("zoom-super-scroll-action", CAPTURE, scroll_action); +#endif } ~Zoom () { @@ -132,7 +136,12 @@ public class Gala.Zoom : Object, GestureTarget, RootTarget { private inline Graphene.Point compute_new_pivot_point () { unowned var wins = wm.ui_group; Graphene.Point coords; - wm.get_display ().get_cursor_tracker ().get_pointer (out coords, null); +#if HAS_MUTTER48 + unowned var tracker = wm.get_display ().get_compositor ().get_backend ().get_cursor_tracker (); +#else + unowned var tracker = wm.get_display ().get_cursor_tracker (); +#endif + tracker.get_pointer (out coords, null); var new_pivot = Graphene.Point () { x = coords.x / wins.width, y = coords.y / wins.height diff --git a/vapi/Clutter-14-custom.vala b/vapi/Clutter-14-custom.vala index e5c71c2d8..94010f0cd 100644 --- a/vapi/Clutter-14-custom.vala +++ b/vapi/Clutter-14-custom.vala @@ -21,33 +21,4 @@ namespace Clutter { [CCode (cname = "clutter_color_from_string")] public bool parse_string (string str); } - - public interface Container : GLib.Object { - public void add (params Clutter.Actor[] actors); - [CCode (cname = "clutter_container_class_find_child_property")] - public class unowned GLib.ParamSpec find_child_property (string property_name); - [CCode (cname = "clutter_container_class_list_child_properties")] - public class unowned GLib.ParamSpec[] list_child_properties (); - } - - public struct Units { - [CCode (cname = "clutter_units_from_cm")] - public Units.from_cm (float cm); - [CCode (cname = "clutter_units_from_em")] - public Units.from_em (float em); - [CCode (cname = "clutter_units_from_em_for_font")] - public Units.from_em_for_font (string font_name, float em); - [CCode (cname = "clutter_units_from_mm")] - public Units.from_mm (float mm); - [CCode (cname = "clutter_units_from_pixels")] - public Units.from_pixels (int px); - [CCode (cname = "clutter_units_from_pt")] - public Units.from_pt (float pt); - [CCode (cname = "clutter_units_from_string")] - public Units.from_string (string str); - } - - [CCode (cheader_filename = "clutter/clutter.h", has_copy_function = false, has_destroy_function = false, has_type_id = false)] - public struct Capture { - } } diff --git a/vapi/Clutter-15-custom.vala b/vapi/Clutter-15-custom.vala index abc9b22d7..fd012031f 100644 --- a/vapi/Clutter-15-custom.vala +++ b/vapi/Clutter-15-custom.vala @@ -1,29 +1,4 @@ namespace Clutter { - public interface Container : GLib.Object { - public void add (params Clutter.Actor[] actors); - [CCode (cname = "clutter_container_class_find_child_property")] - public class unowned GLib.ParamSpec find_child_property (string property_name); - [CCode (cname = "clutter_container_class_list_child_properties")] - public class unowned GLib.ParamSpec[] list_child_properties (); - } - - public struct Units { - [CCode (cname = "clutter_units_from_cm")] - public Units.from_cm (float cm); - [CCode (cname = "clutter_units_from_em")] - public Units.from_em (float em); - [CCode (cname = "clutter_units_from_em_for_font")] - public Units.from_em_for_font (string font_name, float em); - [CCode (cname = "clutter_units_from_mm")] - public Units.from_mm (float mm); - [CCode (cname = "clutter_units_from_pixels")] - public Units.from_pixels (int px); - [CCode (cname = "clutter_units_from_pt")] - public Units.from_pt (float pt); - [CCode (cname = "clutter_units_from_string")] - public Units.from_string (string str); - } - [CCode (cheader_filename = "clutter/clutter.h", has_copy_function = false, has_destroy_function = false, has_type_id = false)] public struct Capture { } diff --git a/vapi/Clutter-16.metadata b/vapi/Clutter-16.metadata new file mode 100644 index 000000000..f7f420511 --- /dev/null +++ b/vapi/Clutter-16.metadata @@ -0,0 +1,145 @@ +// Non mini-object +ActorBox struct +Margin struct +PaintVolume struct +Perspective struct + +*.ref unowned +* cheader_filename="clutter/clutter.h" + +// Fix the few clutter-pango headers +Text cheader_filename="clutter/clutter-pango.h" +TextBuffer cheader_filename="clutter/clutter-pango.h" +TextNode cheader_filename="clutter/clutter-pango.h" +Actor + .get_pango_context cheader_filename="clutter/clutter-pango.h" + .create_pango_context cheader_filename="clutter/clutter-pango.h" + .create_pango_layout cheader_filename="clutter/clutter-pango.h" + + +Actor + .apply_transform.matrix ref + .get_abs_allocation_vertices.verts out=false +Event.type#method name="get_type" + +// ??? +Actor.has_pointer#method name="get_has_pointer" + +// Not all backing symbols are deprecated +Actor.pick deprecated=false + +// Nullable return values +Actor + .get_parent nullable + +// The original CType has been overridden by the annotations +Actor + .allocate.box ctype="const ClutterActorBox *" + .get_stage ctype="ClutterActor *" +Action.handle_event.event ctype="const ClutterEvent *" + +// method/virtual-method/signal don't match +Actor + .event#method name="emit_event" + .get_paint_volume#virtual_method name="get_paint_volume_vfunc" + .get_paint_volume#virtual_method.volume out +Text + .activate#method name="try_activate" + .insert_text#signal skip +TextBuffer.get_text#virtual_method name="get_text_with_length" + +// Default values +Stage.read_pixels + .width default=-1 + .height default=-1 +Stage.paint_to_buffer + .data type="uint8[]" +Text + .position_to_coords.line_height default=null + +// Skipped by g-i for unknown reasons +LayoutManager + .create_child_meta skip=false + +// We can use static strings +PaintNode + .set_static_name skip=false + +// Variadic arguments +Backend + .get_cogl_context skip=false +Interval + .new skip=false + .get_interval skip=false + .set_final skip=false + .set_initial skip=false + .set_interval skip=false +LayoutManager + .child_get skip=false + .child_set skip=false + +// Skipped upstream for unknown reasons +Interval.register_progress_func skip=false + +// struct/class confusion +ActorBox + .new skip + .from_vertices skip +Margin + .new skip + +// Upstream +Event + .get_position.position out + +FrameListenerIface skip +FrameClock.new skip + +// Remove for clutter-2.0 +///////////////////////// + +StageView.layout skip + +Stage + .paint_view.redraw_clip type="Cairo.Region" + +// *Event should be compact classes derived from Clutter.Event +Event.type skip=false +AnyEvent struct=false base_type="Clutter.Event" +ButtonEvent struct=false base_type="Clutter.Event" +CrossingEvent struct=false base_type="Clutter.Event" +DeviceEvent struct=false base_type="Clutter.Event" +IMEvent struct=false base_type="Clutter.Event" +KeyEvent struct=false base_type="Clutter.Event" +MotionEvent struct=false base_type="Clutter.Event" +PadButtonEvent struct=false base_type="Clutter.Event" +PadRingEvent struct=false base_type="Clutter.Event" +PadStripEvent struct=false base_type="Clutter.Event" +ProximityEvent struct=false base_type="Clutter.Event" +ScrollEvent struct=false base_type="Clutter.Event" +TouchEvent struct=false base_type="Clutter.Event" +TouchpadHoldEvent struct=false base_type="Clutter.Event" +TouchpadPinchEvent struct=false base_type="Clutter.Event" +TouchpadSwipeEvent struct=false base_type="Clutter.Event" + +// Keysyms used to be CLUTTER_X instead of CLUTTER_KEY_X +*#constant skip +CURRENT_TIME skip=false +PRIORITY_REDRAW skip=false + +// Clutter devs don't like us creating nested namespaces +value_* name="value_(.+)" parent="Clutter.Value" +threads_* name="threads_(.+)" parent="Clutter.Threads" + +// There is no way to know sealed classes before GLib 2.70 +ColorState sealed +FrameClock sealed +TextureContent sealed + +TextureContent.new_from_texture symbol_type="constructor" + +// Possibly keep +KEY_* skip=false name="KEY_(.+)" type="uint" parent="Clutter.Key" +BUTTON_* skip=false name="BUTTON_(.+)" type="uint32" parent="Clutter.Button" +EVENT_STOP skip=false type="bool" +EVENT_PROPAGATE skip=false type="bool" diff --git a/vapi/Cogl-16-custom.vala b/vapi/Cogl-16-custom.vala new file mode 100644 index 000000000..90d46b330 --- /dev/null +++ b/vapi/Cogl-16-custom.vala @@ -0,0 +1,66 @@ +namespace Cogl { + public struct Color { + [CCode (cname="cogl_color_init_from_4f")] + public Color.from_4f (float red, float green, float blue, float alpha); + [CCode (cname="cogl_color_init_from_hsl")] + public Color.from_hsl (float hue, float saturation, float luminance); + [CCode (cname = "_vala_cogl_color_from_string")] + public static Cogl.Color? from_string (string str) { + Cogl.Color color = {}; + if (color.init_from_string (str)) + return color; + + return null; + } + } + [CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)] + public struct VertexP2 { + public float x; + public float y; + } + [CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)] + public struct VertexP2C4 { + public float x; + public float y; + public uint8 r; + public uint8 g; + public uint8 b; + public uint8 a; + } + [CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)] + public struct VertexP2T2 { + public float x; + public float y; + public float s; + public float t; + } + [CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)] + public struct VertexP2T2C4 { + public float x; + public float y; + public float s; + public float t; + public uint8 r; + public uint8 g; + public uint8 b; + public uint8 a; + } + [CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)] + public struct VertexP3 { + public float x; + public float y; + public float z; + } + [CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)] + public struct VertexP3T2 { + public float x; + public float y; + public float z; + public float s; + public float t; + } + [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_PIXEL_FORMAT_", type_id = "cogl_pixel_format_get_type ()")] + public enum PixelFormat { + CAIRO_ARGB32_COMPAT; + } +} diff --git a/vapi/Cogl-16.metadata b/vapi/Cogl-16.metadata new file mode 100644 index 000000000..ac4447133 --- /dev/null +++ b/vapi/Cogl-16.metadata @@ -0,0 +1,42 @@ +* cheader_filename="cogl/cogl.h" + +Color struct + +Color.equal.v1 type="Cogl.Color" +Color.equal.v2 type="Cogl.Color" +Color.from_string name="init_from_string" + +Context.free_timestamp_query.query owned + +Bitmap.* skip=false +Bitmap.new_for_data.data type="owned uint8[]" +Bitmap.get_buffer type="unowned Cogl.Buffer?" + +Primitive.new skip=false + +Texture + .get_data.data type="uint8[]" + .set_data.data type="uint8[]" + .set_region.data type="uint8[]" + +Texture2D + .new_from_data skip=false + +Texture.error_quark parent="Cogl.TextureError" name="quark" + +RendererError errordomain +SystemError errordomain +TextureError errordomain +FramebufferError errordomain +ScanoutError errordomain + +Onscreen + .add_frame_callback unowned + +A_BIT parent="Cogl.Bits" name="A" +BGR_BIT parent="Cogl.Bits" name="BGR" +AFIRST_BIT parent="Cogl.Bits" name="AFIRST" +PREMULT_BIT parent="Cogl.Bits" name="PREMULT" +DEPTH_BIT parent="Cogl.Bits" name="DEPTH" +STENCIL_BIT parent="Cogl.Bits" name="STENCIL" +PIXEL_FORMAT_MAX_PLANES parent = "Cogl.PixelFormat" name="MAX_PLANES" diff --git a/vapi/Meta-16.metadata b/vapi/Meta-16.metadata new file mode 100644 index 000000000..d4611f11e --- /dev/null +++ b/vapi/Meta-16.metadata @@ -0,0 +1,180 @@ +* skip=false +*.* skip=false +* cheader_filename="meta/main.h" + +Backend cheader_filename="meta/meta-backend.h" +Backend.gpu_added skip +Background cheader_filename="meta/meta-background.h" +Background.set_file.file nullable +BackgroundContent.new symbol_type="constructor" +BackgroundActor cheader_filename="meta/meta-background-actor.h" +BackgroundContent cheader_filename="meta/meta-background-content.h" +BackgroundGroup cheader_filename="meta/meta-background-group.h" +BackgroundImage cheader_filename="meta/meta-background-image.h" +BackgroundImageCache cheader_filename="meta/meta-background-image.h" +Barrier cheader_filename="meta/barrier.h" +BarrierDirection cheader_filename="meta/barrier.h" +BarrierEvent cheader_filename="meta/barrier.h" +BarrierFlags cheader_filename="meta/barrier.h" +ButtonFunction cheader_filename="meta/common.h" +ButtonLayout cheader_filename="meta/common.h" +Compositor cheader_filename="meta/compositor.h" +CompEffect cheader_filename="meta/compositor.h" +CloseDialog cheader_filename="meta/meta-close-dialog.h" +CloseDialogResponse cheader_filename="meta/meta-close-dialog.h" +Context cheader_filename="meta/meta-context.h" +CompositorType cheader_filename="meta/meta-enums.h" +Cursor cheader_filename="meta/common.h" +CursorTracker cheader_filename="meta/meta-cursor-tracker.h" +CursorTracker.get_pointer.mods out +DebugControl cheader_filename="meta/meta-debug-control.h" +DebugTopic cheader_filename="meta/util.h" +DebugPaintFlag cheader_filename="meta/util.h" +Direction cheader_filename="meta/common.h" +Display cheader_filename="meta/display.h" +Display.focus_window#signal name="do_focus_window" +DisplayCorner cheader_filename="meta/display.h" +DisplayDirection cheader_filename="meta/display.h" +Dnd cheader_filename="meta/meta-dnd.h" +EdgeType cheader_filename="meta/boxes.h" +Edge cheader_filename="meta/boxes.h" +FrameBorders cheader_filename="meta/common.h" +FrameType cheader_filename="meta/common.h" +GrabOp cheader_filename="meta/common.h" +Gravity cheader_filename="meta/common.h" +Group cheader_filename="meta/meta-x11-types.h" +IdleMonitor cheader_filename="meta/meta-idle-monitor.h" +IdleMonitorWatchFunc cheader_filename="meta/meta-idle-monitor.h" +InhibitShortcutsDialog cheader_filename="meta/meta-inhibit-shortcuts-dialog.h" +InhibitShortcutsDialogResponse cheader_filename="meta/meta-inhibit-shortcuts-dialog.h" +KeyboardA11yFlags cheader_filename="meta/meta-enums.h" +KeyBinding cheader_filename="meta/keybindings.h" +keybindings_set_custom_handler parent="Meta.KeyBinding" name="set_custom_handler" cheader_filename="meta/keybindings.h" +KeyBindingAction cheader_filename="meta/prefs.h" +KeyBindingFlags cheader_filename="meta/prefs.h" +KeyHandlerFunc cheader_filename="meta/prefs.h" +KeyHandlerFunc.event type="Clutter.KeyEvent?" +KeyHandlerFunc.window nullable +LaunchContext cheader_filename="meta/meta-launch-context.h" +Laters cheader_filename="meta/types.h" +LaterType cheader_filename="meta/util.h" +MaximizeFlags cheader_filename="meta/window.h" +MultiTexture cheader_filename="meta/meta-multi-texture.h" +MultiTextureFormat cheader_filename="meta/meta-multi-texture-format.h" +MonitorManager cheader_filename="meta/meta-monitor-manager.h" +MonitorSwitchConfigType cheader_filename="meta/meta-monitor-manager.h" +MotionDirection cheader_filename="meta/common.h" +Orientation cheader_filename="meta/meta-orientation-manager.h" +OrientationManager cheader_filename="meta/meta-orientation-manager.h" +PadDirection cheader_filename="meta/display.h" +PadFeatureType cheader_filename="meta/display.h" +Plugin cheader_filename="meta/meta-plugin.h" +PowerSaveChangeReason cheader_filename="meta/meta-monitor-manager.h" +Preference cheader_filename="meta/prefs.h" +PrefsChangedFunc cheader_filename="meta/prefs.h" +RemoteAccessController cheader_filename="meta/meta-remote-access-controller.h" +RemoteAccessHandle cheader_filename="meta/meta-remote-access-controller.h" +Selection cheader_filename="meta/meta-selection.h" +SelectionSource cheader_filename="meta/meta-selection-source.h" +SelectionSourceMemory cheader_filename="meta/meta-selection-source-memory.h" +SelectionType cheader_filename="meta/meta-selection-source.h" +Settings cheader_filename="meta/meta-settings.h" +ShapedTexture cheader_filename="meta/meta-shaped-texture.h" +Side cheader_filename="meta/common.h" +SizeChange cheader_filename="meta/compositor.h" +SoundPlayer cheader_filename="meta/meta-sound-player.h" +StartupNotification cheader_filename="meta/meta-startup-notification.h" +StartupNotification.changed.object type="Meta.StartupSequence" +StartupNotification.get_sequences type_arguments="Meta.StartupSequence" +StartupSequence cheader_filename="meta/meta-startup-notification.h" +StackLayer cheader_filename="meta/common.h" +Stage cheader_filename="meta/meta-stage.h" +Strut cheader_filename="meta/boxes.h" +TabList cheader_filename="meta/display.h" +TabShowType cheader_filename="meta/display.h" +WaylandClient cheader_filename="meta/meta-wayland-client.h" +WaylandCompositor cheader_filename="meta/meta-wayland-compositor.h" +Workspace cheader_filename="meta/workspace.h" +WorkspaceManager cheader_filename="meta/meta-workspace-manager.h" +Window cheader_filename="meta/window.h" +Window.focus#signal name="focused" +Window.suspend_state skip +Window.main_monitor skip +WindowActor cheader_filename="meta/meta-window-actor.h" +WindowClientType cheader_filename="meta/window.h" +WindowForeachFunc cheader_filename="meta/window.h" +WindowGroup cheader_filename="meta/meta-window-group.h" +WindowMenuType cheader_filename="meta/compositor.h" +WindowType cheader_filename="meta/window.h" +X11Display cheader_filename="meta/meta-x11-display.h" +X11Display.add_event_func skip +X11DisplayEventFunc skip +X11Display.set_stage_input_region.rects type="X.Xrectangle[]" array_length_idx=1 + +WaylandSurface.scanout_candidate skip +WaylandSurface.main_monitor skip + +// As per https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2287 +MonitorManager.monitor_privacy_screen_changed skip + +prefs_* parent="Meta.Prefs" name="prefs_(.+)" cheader_filename="meta/prefs.h" + +g_utf8_strndup skip + +preference_to_string cheader_filename="meta/prefs.h" +frame_type_to_string cheader_filename="meta/util.h" +topic_to_string parent="Meta.DebugTopic" name="to_string" cheader_filename="meta/util.h" + +CURRENT_TIME cheader_filename="meta/common.h" +PRIORITY_RESIZE cheader_filename="meta/common.h" +PRIORITY_BEFORE_REDRAW cheader_filename="meta/common.h" +PRIORITY_REDRAW cheader_filename="meta/common.h" +PRIORITY_PREFS_NOTIFY cheader_filename="meta/common.h" +VIRTUAL_CORE_POINTER_ID cheader_filename="meta/common.h" +VIRTUAL_CORE_KEYBOARD_ID cheader_filename="meta/common.h" + +Display.window_visibility_updated + .object name="unplaced" type="GLib.List" + .p0 name="should_show" type="GLib.List" + .p1 name="should_hide" type="GLib.List" + +Compositor.get_window_actors type_arguments="Meta.WindowActor" + +add_verbose_topic parent="Meta.Util" cheader_filename="meta/util.h" +bug parent="Meta.Util" cheader_filename="meta/util.h" +external_binding_name_for_action parent="Meta.Util" cheader_filename="meta/util.h" +fatal parent="Meta.Util" cheader_filename="meta/util.h" +is_verbose parent="Meta.Util" cheader_filename="meta/util.h" +is_wayland_compositor parent="Meta.Util" cheader_filename="meta/util.h" +pop_no_msg_prefix parent="Meta.Util" cheader_filename="meta/util.h" +push_no_msg_prefix parent="Meta.Util" cheader_filename="meta/util.h" +remove_verbose_topic parent="Meta.Util" cheader_filename="meta/util.h" +unsigned_long_equal parent="Meta.Util" name="ulong_equal" cheader_filename="meta/util.h" +unsigned_long_equal.v1 type="ulong?" +unsigned_long_equal.v2 type="ulong?" +unsigned_long_hash parent="Meta.Util" name="ulong_hash" cheader_filename="meta/util.h" +unsigned_long_hash.v type="ulong?" +create_context parent="Meta.Context" name="new" symbol_type="constructor" cheader_filename="meta/meta-context.h" + +Plugin.create_close_dialog unowned=false nullable +Plugin.create_inhibit_shortcuts_dialog unowned=false + +BackgroundActor sealed +BackgroundContent sealed +BackgroundImage sealed +BackgroundImageCache sealed +Background sealed +Dnd sealed +IdleMonitor sealed +LaunchContext sealed +RemoteAccessController sealed +SelectionSourceMemory sealed +Selection sealed +ShapedTexture sealed +SoundPlayer sealed +Stage sealed +StartupNotification sealed +WaylandClient sealed +WindowGroup sealed +WorkspaceManager sealed +X11Display sealed diff --git a/vapi/Mtk-16.metadata b/vapi/Mtk-16.metadata new file mode 100644 index 000000000..f804d1bc0 --- /dev/null +++ b/vapi/Mtk-16.metadata @@ -0,0 +1,6 @@ +Rectangle struct +RECTANGLE_MAX_STACK_RECTS parent="Mtk.Rectangle" name="MAX_STACK_RECTS" +REGION_BUILDER_MAX_LEVELS parent="Mtk.RegionBuilder" name="MAX_LEVELS" + +MONITOR_ALL_TRANSFORMS parent="Mtk.MonitorTransform" name="ALL" +MONITOR_N_TRANSFORMS skip diff --git a/vapi/libmutter-16.deps b/vapi/libmutter-16.deps new file mode 120000 index 000000000..9616fe3fa --- /dev/null +++ b/vapi/libmutter-16.deps @@ -0,0 +1 @@ +libmutter-15.deps \ No newline at end of file diff --git a/vapi/libmutter-16.vapi b/vapi/libmutter-16.vapi new file mode 120000 index 000000000..18103632d --- /dev/null +++ b/vapi/libmutter-16.vapi @@ -0,0 +1 @@ +libmutter-15.vapi \ No newline at end of file diff --git a/vapi/libmutter.vapi b/vapi/libmutter.vapi index fce076f0d..ddbd35684 100644 --- a/vapi/libmutter.vapi +++ b/vapi/libmutter.vapi @@ -117,8 +117,10 @@ namespace Meta { public static int ulong_equal ([CCode (type = "gconstpointer")] ulong? v1, [CCode (type = "gconstpointer")] ulong? v2); [CCode (cheader_filename = "meta/util.h", cname = "meta_unsigned_long_hash")] public static uint ulong_hash ([CCode (type = "gconstpointer")] ulong? v); +#if !HAS_MUTTER46 [CCode (cheader_filename = "meta/util.h", cname = "meta_warning")] public static void warning (string format, ...); +#endif } [CCode (cheader_filename = "meta/meta-backend.h", type_id = "meta_backend_get_type ()")] public abstract class Backend : GLib.Object, GLib.Initable { @@ -130,6 +132,9 @@ namespace Meta { public Meta.BackendCapabilities get_capabilities (); public unowned Meta.Context get_context (); public unowned Meta.IdleMonitor get_core_idle_monitor (); +#if HAS_MUTTER48 + public unowned Meta.CursorTracker get_cursor_tracker (); +#endif public unowned Meta.Dnd get_dnd (); public unowned Meta.MonitorManager get_monitor_manager (); #if HAS_MUTTER47 @@ -141,6 +146,9 @@ namespace Meta { public bool is_headless (); public bool is_rendering_hardware_accelerated (); public void lock_layout_group (uint idx); +#if HAS_MUTTER48 + public void renderdoc_capture (); +#endif #if HAS_MUTTER46 public void set_keymap (string layouts, string variants, string options, string model); public void unfreeze_keyboard (uint32 timestamp); @@ -154,7 +162,13 @@ namespace Meta { public signal void keymap_layout_group_changed (uint object); public signal void last_device_changed (Clutter.InputDevice object); public signal void lid_is_closed_changed (bool object); +#if HAS_MUTTER48 + public signal void pause (); +#endif public signal void prepare_shutdown (); +#if HAS_MUTTER48 + public signal void resume (); +#endif } [CCode (cheader_filename = "meta/meta-background.h", type_id = "meta_background_get_type ()")] public sealed class Background : GLib.Object { @@ -292,10 +306,23 @@ namespace Meta { public abstract class Compositor : GLib.Object { [CCode (has_construct_function = false)] protected Compositor (); +#if HAS_MUTTER48 + public void disable_unredirect (); + public void enable_unredirect (); + public unowned Meta.Backend get_backend (); +#endif public unowned Clutter.Actor get_feedback_group (); public unowned Meta.Laters get_laters (); +#if HAS_MUTTER48 + public unowned Clutter.Stage get_stage (); + public unowned Clutter.Actor get_top_window_group (); + public unowned GLib.List get_window_actors (); + public unowned Clutter.Actor get_window_group (); + public Meta.Backend backend { get; construct; } +#else [NoAccessorMethod] public Meta.Backend backend { owned get; construct; } +#endif [NoAccessorMethod] public Meta.Display display { owned get; construct; } } @@ -350,6 +377,9 @@ namespace Meta { [NoAccessorMethod] public Meta.Backend backend { owned get; construct; } public signal void cursor_changed (); +#if HAS_MUTTER48 + public signal void cursor_prefs_changed (); +#endif public signal void position_invalidated (); public signal void visibility_changed (); } @@ -372,10 +402,12 @@ namespace Meta { public uint add_keybinding (string name, GLib.Settings settings, Meta.KeyBindingFlags flags, owned Meta.KeyHandlerFunc handler); public void clear_mouse_mode (); public void close (uint32 timestamp); +#if !HAS_MUTTER48 [CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_disable_unredirect_for_display")] public void disable_unredirect (); [CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_enable_unredirect_for_display")] public void enable_unredirect (); +#endif public void focus_default_window (uint32 timestamp); #if !HAS_MUTTER46 [CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_focus_stage_window")] @@ -388,8 +420,10 @@ namespace Meta { public int get_current_monitor (); public uint32 get_current_time (); public uint32 get_current_time_roundtrip (); +#if !HAS_MUTTER48 [CCode (cname = "meta_cursor_tracker_get_for_display")] public unowned Meta.CursorTracker get_cursor_tracker (); +#endif #if !HAS_MUTTER46 [CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_feedback_group_for_display")] public unowned Clutter.Actor get_feedback_group (); @@ -409,18 +443,22 @@ namespace Meta { public unowned Meta.Selection get_selection (); public void get_size (out int width, out int height); public unowned Meta.SoundPlayer get_sound_player (); +#if !HAS_MUTTER48 [CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_stage_for_display")] public unowned Clutter.Actor get_stage (); +#endif public unowned Meta.StartupNotification get_startup_notification (); public unowned Meta.Window get_tab_current (Meta.TabList type, Meta.Workspace workspace); public GLib.List get_tab_list (Meta.TabList type, Meta.Workspace? workspace); public unowned Meta.Window get_tab_next (Meta.TabList type, Meta.Workspace workspace, Meta.Window? window, bool backward); +#if !HAS_MUTTER48 [CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_top_window_group_for_display")] public unowned Clutter.Actor get_top_window_group (); [CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_window_actors")] public unowned GLib.List get_window_actors (); [CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_window_group_for_display")] public unowned Clutter.Actor get_window_group (); +#endif public unowned Meta.WorkspaceManager get_workspace_manager (); public unowned Meta.X11Display get_x11_display (); public uint grab_accelerator (string accelerator, Meta.KeyBindingFlags flags); @@ -573,8 +611,10 @@ namespace Meta { public void switch_config (Meta.MonitorSwitchConfigType config_type); [NoAccessorMethod] public Meta.Backend backend { owned get; construct; } +#if !HAS_MUTTER48 [NoAccessorMethod] public string experimental_hdr { owned get; set; } +#endif [NoAccessorMethod] public bool has_builtin_panel { get; } [NoAccessorMethod] @@ -625,7 +665,9 @@ namespace Meta { public virtual void destroy (Meta.WindowActor actor); public void destroy_completed (Meta.WindowActor actor); public unowned Meta.Display get_display (); +#if !HAS_MUTTER48 public unowned Meta.PluginInfo? get_info (); +#endif [NoWrapper] public virtual void hide_tile_preview (); [NoWrapper] @@ -643,8 +685,10 @@ namespace Meta { [NoWrapper] public virtual void minimize (Meta.WindowActor actor); public void minimize_completed (Meta.WindowActor actor); +#if !HAS_MUTTER48 [NoWrapper] public virtual unowned Meta.PluginInfo? plugin_info (); +#endif [NoWrapper] public virtual void show_tile_preview (Meta.Window window, Mtk.Rectangle tile_rect, int tile_monitor_number); [NoWrapper] @@ -667,6 +711,10 @@ namespace Meta { #if !HAS_MUTTER46 [NoWrapper] public virtual bool xevent_filter ([CCode (type = "XEvent*")] ref X.Event event); +#endif +#if HAS_MUTTER48 + [NoWrapper] + public virtual bool xevent_filter (X.Event event); #endif } [CCode (cheader_filename = "meta/meta-remote-access-controller.h", type_id = "meta_remote_access_controller_get_type ()")] @@ -882,6 +930,9 @@ namespace Meta { public void foreach_transient (Meta.WindowForeachFunc func); public Mtk.Rectangle frame_rect_to_client_rect (Mtk.Rectangle frame_rect); public Mtk.Rectangle get_buffer_rect (); +#if HAS_MUTTER48 + public Mtk.Rectangle get_client_content_rect (); +#endif #if !HAS_MUTTER46 public unowned string? get_client_machine (); #endif @@ -892,10 +943,12 @@ namespace Meta { #if !HAS_MUTTER46 public unowned Meta.Frame get_frame (); #endif +#if !HAS_MUTTER48 #if HAS_MUTTER46 public unowned Mtk.Region? get_frame_bounds (); #else public unowned Cairo.Region? get_frame_bounds (); +#endif #endif public Mtk.Rectangle get_frame_rect (); public Meta.FrameType get_frame_type (); @@ -988,7 +1041,9 @@ namespace Meta { public Mtk.Rectangle stage_to_protocol_rect (Mtk.Rectangle stage_rect); #endif public void stick (); +#if !HAS_MUTTER48 public bool titlebar_is_onscreen (); +#endif public void unmake_above (); public void unmake_fullscreen (); public void unmaximize (Meta.MaximizeFlags directions); @@ -1053,7 +1108,12 @@ namespace Meta { public uint user_time { get; } public Meta.WindowType window_type { get; } public string wm_class { get; } +#if HAS_MUTTER48 + public signal void configure (Meta.WindowConfig window_config); +#endif +#if !HAS_MUTTER48 public ulong xwindow { get; construct; } +#endif [CCode (cname = "focus")] public signal void focused (); public signal void highest_scale_monitor_changed (); @@ -1087,6 +1147,24 @@ namespace Meta { public signal void first_frame (); public signal void thawed (); } +#if HAS_MUTTER48 + [CCode (cheader_filename = "meta/main.h", type_id = "meta_window_config_get_type ()")] + public sealed class WindowConfig : GLib.Object { + [CCode (has_construct_function = false)] + public WindowConfig (); + public bool get_is_fullscreen (); + public bool get_is_initial (); + public void get_position (int x, int y); + public Mtk.Rectangle? get_rect (); + public void get_size (int width, int height); + public void set_is_fullscreen (bool is_fullscreen); + public void set_position (int x, int y); + public void set_rect (Mtk.Rectangle rect); + public void set_size (int width, int height); + public bool is_fullscreen { get; set; } + public Mtk.Rectangle rect { owned get; set; } + } +#endif [CCode (cheader_filename = "meta/meta-window-group.h", type_id = "meta_window_group_get_type ()")] #if HAS_MUTTER46 public sealed class WindowGroup : Clutter.Actor, Atk.Implementor, Clutter.Animatable { @@ -1187,7 +1265,9 @@ namespace Meta { #endif public unowned X.Display get_xdisplay (); public X.Window get_xroot (); +#if !HAS_MUTTER48 public unowned Meta.Group lookup_group (X.Window group_leader); +#endif #if HAS_MUTTER46 public X.Window lookup_xwindow (Meta.Window window); #endif @@ -1250,6 +1330,7 @@ namespace Meta { public Meta.FrameBorder total; public void clear (); } +#if !HAS_MUTTER48 [CCode (cheader_filename = "meta/meta-plugin.h", has_type_id = false)] public struct PluginInfo { public weak string name; @@ -1258,6 +1339,7 @@ namespace Meta { public weak string license; public weak string description; } +#endif #if !HAS_MUTTER47 [CCode (cheader_filename = "meta/meta-shadow-factory.h", has_type_id = false)] public struct ShadowParams { @@ -1321,16 +1403,57 @@ namespace Meta { } [CCode (cheader_filename = "meta/common.h", cprefix = "META_CURSOR_", type_id = "meta_cursor_get_type ()")] public enum Cursor { +#if HAS_MUTTER48 + INVALID, +#endif NONE, DEFAULT, +#if HAS_MUTTER48 + CONTEXT_MENU, + HELP, + POINTER, + PROGRESS, + WAIT, + CELL, + CROSSHAIR, + TEXT, + VERTICAL_TEXT, + ALIAS, + COPY, + MOVE, + NO_DROP, + NOT_ALLOWED, + GRAB, + GRABBING, + E_RESIZE, + N_RESIZE, +#else NORTH_RESIZE, SOUTH_RESIZE, WEST_RESIZE, EAST_RESIZE, SE_RESIZE, SW_RESIZE, +#endif NE_RESIZE, NW_RESIZE, +#if HAS_MUTTER48 + S_RESIZE, + SE_RESIZE, + SW_RESIZE, + W_RESIZE, + EW_RESIZE, + NS_RESIZE, + NESW_RESIZE, + NWSE_RESIZE, + COL_RESIZE, + ROW_RESIZE, + ALL_SCROLL, + ZOOM_IN, + ZOOM_OUT, + DND_ASK, + ALL_RESIZE +#else MOVE_OR_RESIZE_WINDOW, BUSY, DND_IN_DRAG, @@ -1342,6 +1465,7 @@ namespace Meta { IBEAM, BLANK, LAST +#endif } [CCode (cheader_filename = "meta/util.h", cprefix = "META_DEBUG_PAINT_", type_id = "meta_debug_paint_flag_get_type ()")] [Flags] @@ -1366,14 +1490,20 @@ namespace Meta { WINDOW_OPS, GEOMETRY, PLACEMENT, +#if HAS_MUTTER48 + DISPLAY, +#else PING, +#endif KEYBINDINGS, SYNC, STARTUP, PREFS, +#if !HAS_MUTTER48 GROUPS, RESIZING, SHAPES, +#endif EDGE_RESISTANCE, DBUS, INPUT, @@ -1388,6 +1518,10 @@ namespace Meta { #if HAS_MUTTER47 KMS_DEADLINE, SESSION_MANAGEMENT, +#endif +#if HAS_MUTTER48 + X11, + WORKSPACES, #endif RENDER; [CCode (cheader_filename = "meta/util.h", cname = "meta_topic_to_string")] @@ -1837,13 +1971,21 @@ namespace Meta { [CCode (cheader_filename = "meta/meta-idle-monitor.h", instance_pos = 2.9)] public delegate void IdleMonitorWatchFunc (Meta.IdleMonitor monitor, uint watch_id); [CCode (cheader_filename = "meta/prefs.h", instance_pos = 4.9)] +#if HAS_MUTTER48 + public delegate void KeyHandlerFunc (Meta.Display display, Meta.Window? window, [CCode (type = "const ClutterEvent*")] Clutter.KeyEvent? event, Meta.KeyBinding binding); +#else public delegate void KeyHandlerFunc (Meta.Display display, Meta.Window? window, [CCode (type = "const ClutterKeyEvent*")] Clutter.KeyEvent? event, Meta.KeyBinding binding); +#endif [CCode (cheader_filename = "meta/prefs.h", instance_pos = 1.9)] public delegate void PrefsChangedFunc (Meta.Preference pref); [CCode (cheader_filename = "meta/window.h", instance_pos = 1.9)] public delegate bool WindowForeachFunc (Meta.Window window); [CCode (cheader_filename = "meta/common.h", cname = "META_CURRENT_TIME")] public const int CURRENT_TIME; +#if HAS_MUTTER48 + [CCode (cheader_filename = "meta/main.h", cname = "META_N_ORIENTATIONS")] + public const int N_ORIENTATIONS; +#endif [CCode (cheader_filename = "meta/common.h", cname = "META_PRIORITY_BEFORE_REDRAW")] public const int PRIORITY_BEFORE_REDRAW; [CCode (cheader_filename = "meta/common.h", cname = "META_PRIORITY_PREFS_NOTIFY")] @@ -1858,8 +2000,10 @@ namespace Meta { public const int VIRTUAL_CORE_POINTER_ID; [CCode (cheader_filename = "meta/main.h")] public static string accelerator_name (Clutter.ModifierType accelerator_mods, uint accelerator_key); +#if !HAS_MUTTER48 [CCode (cheader_filename = "meta/main.h")] public static void add_clutter_debug_flags (Clutter.DebugFlag debug_flags, Clutter.DrawDebugFlag draw_flags, Clutter.PickDebugFlag pick_flags); +#endif [CCode (cheader_filename = "meta/main.h")] public static void add_debug_paint_flag (Meta.DebugPaintFlag flag); #if !HAS_MUTTER46 @@ -1868,8 +2012,10 @@ namespace Meta { #endif [CCode (cheader_filename = "meta/main.h")] public static void exit (Meta.ExitCode code); +#if !HAS_MUTTER48 [CCode (cheader_filename = "meta/main.h")] public static void get_clutter_debug_flags (out Clutter.DebugFlag debug_flags, out Clutter.DrawDebugFlag draw_flags, out Clutter.PickDebugFlag pick_flags); +#endif [CCode (cheader_filename = "meta/main.h")] public static Meta.DebugPaintFlag get_debug_paint_flags (); [CCode (cheader_filename = "meta/main.h")] @@ -1878,8 +2024,10 @@ namespace Meta { public static bool is_topic_enabled (Meta.DebugTopic topic); [CCode (cheader_filename = "meta/main.h")] public static void log (string format, ...); +#if !HAS_MUTTER48 [CCode (cheader_filename = "meta/main.h")] public static void remove_clutter_debug_flags (Clutter.DebugFlag debug_flags, Clutter.DrawDebugFlag draw_flags, Clutter.PickDebugFlag pick_flags); +#endif [CCode (cheader_filename = "meta/main.h")] public static void remove_debug_paint_flag (Meta.DebugPaintFlag flag); [CCode (cheader_filename = "meta/main.h")] diff --git a/vapi/meson.build b/vapi/meson.build index c2cd463e1..dd3df5a79 100644 --- a/vapi/meson.build +++ b/vapi/meson.build @@ -246,7 +246,6 @@ if mutter47_dep.found() '--pkg=pangocairo', '--pkg=x11', vapigen_args, - files('Clutter-15-custom.vala') ], depends: [ cogl_target, cogl_pango_target, mtk_target ], output: 'mutter-clutter-15.vapi' @@ -273,3 +272,74 @@ if mutter47_dep.found() output: 'libmutter-15.vapi' ) endif +if mutter48_dep.found() + mtk_target = custom_target('mutter-mtk-16', + command: [ + vapigen, + mutter_typelib_dir / 'Mtk-16.gir', + '--library=mutter-mtk-16', + '--pkg=gobject-2.0', + '--pkg=gio-2.0', + '--pkg=cairo', + '--pkg=graphene-gobject-1.0', + vapigen_args + ], + output: 'mutter-mtk-16.vapi' + ) + cogl_target = custom_target('mutter-cogl-16', + command: [ + vapigen, + mutter_typelib_dir / 'Cogl-16.gir', + '--library=mutter-cogl-16', + '--pkg=mutter-mtk-16', + '--pkg=gobject-2.0', + '--pkg=gio-2.0', + '--pkg=cairo', + '--pkg=graphene-gobject-1.0', + '--pkg=x11', + vapigen_args, + files('Cogl-16-custom.vala') + ], + depends: mtk_target, + output: 'mutter-cogl-16.vapi' + ) + + clutter_target = custom_target('mutter-clutter-16', + command: [ + vapigen, + mutter_typelib_dir / 'Clutter-16.gir', + '--library=mutter-clutter-16', + '--pkg=graphene-gobject-1.0', + '--pkg=mutter-mtk-16', + '--pkg=mutter-cogl-16', + '--pkg=atk', + '--pkg=gio-2.0', + '--pkg=json-glib-1.0', + '--pkg=pango', + '--pkg=x11', + vapigen_args, + ], + depends: [ cogl_target, mtk_target ], + output: 'mutter-clutter-16.vapi' + ) + + libmutter_target = custom_target('libmutter-16', + command: [ + vapigen, + mutter_typelib_dir / 'Meta-16.gir', + '--library=libmutter-16', + '--pkg=graphene-gobject-1.0', + '--pkg=mutter-cogl-16', + '--pkg=mutter-clutter-16', + '--pkg=atk', + '--pkg=gio-2.0', + '--pkg=json-glib-1.0', + '--pkg=pango', + '--pkg=x11', + '--pkg=xfixes-4.0', + vapigen_args + ], + depends: [ cogl_target, clutter_target ], + output: 'libmutter-16.vapi' + ) +endif diff --git a/vapi/mutter-clutter-16.deps b/vapi/mutter-clutter-16.deps new file mode 100644 index 000000000..1393e092d --- /dev/null +++ b/vapi/mutter-clutter-16.deps @@ -0,0 +1,6 @@ +atk +cairo +pango +json-glib-1.0 +mutter-cogl-16 +graphene-gobject-1.0 diff --git a/vapi/mutter-clutter-16.vapi b/vapi/mutter-clutter-16.vapi new file mode 120000 index 000000000..a15687d85 --- /dev/null +++ b/vapi/mutter-clutter-16.vapi @@ -0,0 +1 @@ +mutter-clutter-15.vapi \ No newline at end of file diff --git a/vapi/mutter-clutter.vapi b/vapi/mutter-clutter.vapi index f8ddadc19..1bf906631 100644 --- a/vapi/mutter-clutter.vapi +++ b/vapi/mutter-clutter.vapi @@ -15,6 +15,12 @@ namespace Clutter { public const uint @0; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_1")] public const uint @1; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_10ChannelsDown")] + public const uint @10ChannelsDown; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_10ChannelsUp")] + public const uint @10ChannelsUp; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_2")] public const uint @2; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3")] @@ -79,6 +85,10 @@ namespace Clutter { public const uint @3270_Setup; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_Test")] public const uint @3270_Test; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3DMode")] + public const uint @3DMode; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_4")] public const uint @4; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_5")] @@ -95,6 +105,10 @@ namespace Clutter { public const uint A; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AE")] public const uint AE; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ALSToggle")] + public const uint ALSToggle; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Aacute")] public const uint Aacute; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Abelowdot")] @@ -115,6 +129,10 @@ namespace Clutter { public const uint AccessX_Enable; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AccessX_Feedback_Enable")] public const uint AccessX_Feedback_Enable; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Accessibility")] + public const uint Accessibility; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Acircumflex")] public const uint Acircumflex; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Acircumflexacute")] @@ -129,6 +147,10 @@ namespace Clutter { public const uint Acircumflextilde; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AddFavorite")] public const uint AddFavorite; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Addressbook")] + public const uint Addressbook; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Adiaeresis")] public const uint Adiaeresis; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Agrave")] @@ -143,6 +165,10 @@ namespace Clutter { public const uint Amacron; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Aogonek")] public const uint Aogonek; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AppSelect")] + public const uint AppSelect; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ApplicationLeft")] public const uint ApplicationLeft; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ApplicationRight")] @@ -489,12 +515,34 @@ namespace Clutter { public const uint Armenian_za; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_zhe")] public const uint Armenian_zhe; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AspectRatio")] + public const uint AspectRatio; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Assistant")] + public const uint Assistant; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Atilde")] public const uint Atilde; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AttendantOff")] + public const uint AttendantOff; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AttendantOn")] + public const uint AttendantOn; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AttendantToggle")] + public const uint AttendantToggle; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudibleBell_Enable")] public const uint AudibleBell_Enable; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Audio")] + public const uint Audio; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioCycleTrack")] public const uint AudioCycleTrack; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioDesc")] + public const uint AudioDesc; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioForward")] public const uint AudioForward; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioLowerVolume")] @@ -511,6 +559,10 @@ namespace Clutter { public const uint AudioPause; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioPlay")] public const uint AudioPlay; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioPreset")] + public const uint AudioPreset; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioPrev")] public const uint AudioPrev; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioRaiseVolume")] @@ -525,6 +577,10 @@ namespace Clutter { public const uint AudioRewind; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioStop")] public const uint AudioStop; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AutopilotEngageToggle")] + public const uint AutopilotEngageToggle; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Away")] public const uint Away; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_B")] @@ -553,6 +609,16 @@ namespace Clutter { public const uint Break; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_BrightnessAdjust")] public const uint BrightnessAdjust; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_BrightnessAuto")] + public const uint BrightnessAuto; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_BrightnessMax")] + public const uint BrightnessMax; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_BrightnessMin")] + public const uint BrightnessMin; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Buttonconfig")] + public const uint Buttonconfig; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Byelorussian_SHORTU")] public const uint Byelorussian_SHORTU; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Byelorussian_shortu")] @@ -575,6 +641,28 @@ namespace Clutter { public const uint Calculator; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Calendar")] public const uint Calendar; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraAccessDisable")] + public const uint CameraAccessDisable; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraAccessEnable")] + public const uint CameraAccessEnable; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraAccessToggle")] + public const uint CameraAccessToggle; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraDown")] + public const uint CameraDown; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraFocus")] + public const uint CameraFocus; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraLeft")] + public const uint CameraLeft; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraRight")] + public const uint CameraRight; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraUp")] + public const uint CameraUp; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraZoomIn")] + public const uint CameraZoomIn; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraZoomOut")] + public const uint CameraZoomOut; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cancel")] public const uint Cancel; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Caps_Lock")] @@ -587,10 +675,20 @@ namespace Clutter { public const uint Ccircumflex; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ch")] public const uint Ch; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ChannelDown")] + public const uint ChannelDown; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ChannelUp")] + public const uint ChannelUp; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Clear")] public const uint Clear; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ClearGrab")] public const uint ClearGrab; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ClearvuSonar")] + public const uint ClearvuSonar; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Close")] public const uint Close; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Codeinput")] @@ -599,8 +697,16 @@ namespace Clutter { public const uint ColonSign; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Community")] public const uint Community; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ContextMenu")] + public const uint ContextMenu; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ContrastAdjust")] public const uint ContrastAdjust; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ControlPanel")] + public const uint ControlPanel; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Control_L")] public const uint Control_L; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Control_R")] @@ -825,14 +931,36 @@ namespace Clutter { public const uint D; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_DOS")] public const uint DOS; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_DVD")] + public const uint DVD; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Dabovedot")] public const uint Dabovedot; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Data")] + public const uint Data; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Database")] + public const uint Database; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Dcaron")] public const uint Dcaron; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Delete")] public const uint Delete; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Dictate")] + public const uint Dictate; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Display")] public const uint Display; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_DisplayOff")] + public const uint DisplayOff; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_DisplayToggle")] + public const uint DisplayToggle; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_DoNotDisturb")] + public const uint DoNotDisturb; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Documents")] public const uint Documents; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_DongSign")] @@ -841,6 +969,10 @@ namespace Clutter { public const uint Down; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Dstroke")] public const uint Dstroke; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_DualRangeRadar")] + public const uint DualRangeRadar; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_E")] public const uint E; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ENG")] @@ -873,6 +1005,10 @@ namespace Clutter { public const uint EcuSign; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ediaeresis")] public const uint Ediaeresis; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Editor")] + public const uint Editor; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Egrave")] public const uint Egrave; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ehook")] @@ -885,6 +1021,10 @@ namespace Clutter { public const uint Eject; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Emacron")] public const uint Emacron; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_EmojiPicker")] + public const uint EmojiPicker; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_End")] public const uint End; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Eogonek")] @@ -1001,6 +1141,10 @@ namespace Clutter { public const uint Farsi_9; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Farsi_yeh")] public const uint Farsi_yeh; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_FastReverse")] + public const uint FastReverse; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Favorites")] public const uint Favorites; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Finance")] @@ -1009,12 +1153,26 @@ namespace Clutter { public const uint Find; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_First_Virtual_Screen")] public const uint First_Virtual_Screen; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_FishingChart")] + public const uint FishingChart; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Fn")] + public const uint Fn; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_FnRightShift")] + public const uint FnRightShift; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Fn_Esc")] + public const uint Fn_Esc; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Forward")] public const uint Forward; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_FrameBack")] public const uint FrameBack; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_FrameForward")] public const uint FrameForward; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_FullScreen")] + public const uint FullScreen; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_G")] public const uint G; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Gabovedot")] @@ -1109,6 +1267,10 @@ namespace Clutter { public const uint Georgian_zhar; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Go")] public const uint Go; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_GraphicsEditor")] + public const uint GraphicsEditor; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_ALPHA")] public const uint Greek_ALPHA; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_ALPHAaccent")] @@ -1475,6 +1637,10 @@ namespace Clutter { public const uint Hangul_YeorinHieuh; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_switch")] public const uint Hangul_switch; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_HangupPhone")] + public const uint HangupPhone; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hankaku")] public const uint Hankaku; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hcircumflex")] @@ -1607,6 +1773,12 @@ namespace Clutter { public const uint Ihook; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Imacron")] public const uint Imacron; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Images")] + public const uint Images; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Info")] + public const uint Info; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Insert")] public const uint Insert; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Iogonek")] @@ -1617,6 +1789,10 @@ namespace Clutter { public const uint J; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Jcircumflex")] public const uint Jcircumflex; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Journal")] + public const uint Journal; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_K")] public const uint K; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_0")] @@ -1707,10 +1883,38 @@ namespace Clutter { public const uint KbdBrightnessDown; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdBrightnessUp")] public const uint KbdBrightnessUp; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdInputAssistAccept")] + public const uint KbdInputAssistAccept; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdInputAssistCancel")] + public const uint KbdInputAssistCancel; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdInputAssistNext")] + public const uint KbdInputAssistNext; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdInputAssistNextgroup")] + public const uint KbdInputAssistNextgroup; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdInputAssistPrev")] + public const uint KbdInputAssistPrev; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdInputAssistPrevgroup")] + public const uint KbdInputAssistPrevgroup; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdLcdMenu1")] + public const uint KbdLcdMenu1; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdLcdMenu2")] + public const uint KbdLcdMenu2; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdLcdMenu3")] + public const uint KbdLcdMenu3; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdLcdMenu4")] + public const uint KbdLcdMenu4; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdLcdMenu5")] + public const uint KbdLcdMenu5; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdLightOnOff")] public const uint KbdLightOnOff; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Kcedilla")] public const uint Kcedilla; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Keyboard")] + public const uint Keyboard; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Korean_Won")] public const uint Korean_Won; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_L")] @@ -1779,8 +1983,18 @@ namespace Clutter { public const uint Lcedilla; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Left")] public const uint Left; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_LeftDown")] + public const uint LeftDown; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_LeftUp")] + public const uint LeftUp; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_LightBulb")] public const uint LightBulb; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_LightsToggle")] + public const uint LightsToggle; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Linefeed")] public const uint Linefeed; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_LiraSign")] @@ -1809,16 +2023,100 @@ namespace Clutter { public const uint Macedonia_gje; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macedonia_kje")] public const uint Macedonia_kje; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro1")] + public const uint Macro1; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro10")] + public const uint Macro10; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro11")] + public const uint Macro11; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro12")] + public const uint Macro12; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro13")] + public const uint Macro13; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro14")] + public const uint Macro14; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro15")] + public const uint Macro15; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro16")] + public const uint Macro16; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro17")] + public const uint Macro17; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro18")] + public const uint Macro18; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro19")] + public const uint Macro19; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro2")] + public const uint Macro2; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro20")] + public const uint Macro20; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro21")] + public const uint Macro21; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro22")] + public const uint Macro22; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro23")] + public const uint Macro23; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro24")] + public const uint Macro24; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro25")] + public const uint Macro25; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro26")] + public const uint Macro26; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro27")] + public const uint Macro27; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro28")] + public const uint Macro28; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro29")] + public const uint Macro29; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro3")] + public const uint Macro3; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro30")] + public const uint Macro30; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro4")] + public const uint Macro4; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro5")] + public const uint Macro5; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro6")] + public const uint Macro6; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro7")] + public const uint Macro7; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro8")] + public const uint Macro8; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro9")] + public const uint Macro9; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MacroPreset1")] + public const uint MacroPreset1; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MacroPreset2")] + public const uint MacroPreset2; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MacroPreset3")] + public const uint MacroPreset3; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MacroPresetCycle")] + public const uint MacroPresetCycle; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MacroRecordStart")] + public const uint MacroRecordStart; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MacroRecordStop")] + public const uint MacroRecordStop; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Mae_Koho")] public const uint Mae_Koho; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Mail")] public const uint Mail; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MailForward")] public const uint MailForward; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MarkWaypoint")] + public const uint MarkWaypoint; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Market")] public const uint Market; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Massyo")] public const uint Massyo; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MediaRepeat")] + public const uint MediaRepeat; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MediaTopMenu")] + public const uint MediaTopMenu; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Meeting")] public const uint Meeting; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Memo")] @@ -1841,6 +2139,10 @@ namespace Clutter { public const uint ModeLock; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Mode_switch")] public const uint Mode_switch; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MonBrightnessCycle")] + public const uint MonBrightnessCycle; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MonBrightnessDown")] public const uint MonBrightnessDown; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MonBrightnessUp")] @@ -1867,6 +2169,12 @@ namespace Clutter { public const uint Nacute; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NairaSign")] public const uint NairaSign; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NavChart")] + public const uint NavChart; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NavInfo")] + public const uint NavInfo; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ncaron")] public const uint Ncaron; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ncedilla")] @@ -1879,14 +2187,62 @@ namespace Clutter { public const uint News; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Next")] public const uint Next; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NextElement")] + public const uint NextElement; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NextFavorite")] + public const uint NextFavorite; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Next_VMode")] public const uint Next_VMode; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Next_Virtual_Screen")] public const uint Next_Virtual_Screen; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NotificationCenter")] + public const uint NotificationCenter; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ntilde")] public const uint Ntilde; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Num_Lock")] public const uint Num_Lock; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric0")] + public const uint Numeric0; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric1")] + public const uint Numeric1; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric11")] + public const uint Numeric11; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric12")] + public const uint Numeric12; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric2")] + public const uint Numeric2; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric3")] + public const uint Numeric3; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric4")] + public const uint Numeric4; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric5")] + public const uint Numeric5; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric6")] + public const uint Numeric6; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric7")] + public const uint Numeric7; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric8")] + public const uint Numeric8; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric9")] + public const uint Numeric9; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NumericA")] + public const uint NumericA; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NumericB")] + public const uint NumericB; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NumericC")] + public const uint NumericC; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NumericD")] + public const uint NumericD; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NumericPound")] + public const uint NumericPound; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NumericStar")] + public const uint NumericStar; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_O")] public const uint O; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_OE")] @@ -1935,6 +2291,10 @@ namespace Clutter { public const uint Ohorntilde; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Omacron")] public const uint Omacron; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_OnScreenKeyboard")] + public const uint OnScreenKeyboard; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ooblique")] public const uint Ooblique; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Open")] @@ -1963,10 +2323,18 @@ namespace Clutter { public const uint Paste; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pause")] public const uint Pause; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_PauseRecord")] + public const uint PauseRecord; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_PesetaSign")] public const uint PesetaSign; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Phone")] public const uint Phone; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_PickupPhone")] + public const uint PickupPhone; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pictures")] public const uint Pictures; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_Accelerate")] @@ -2033,16 +2401,28 @@ namespace Clutter { public const uint PowerDown; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_PowerOff")] public const uint PowerOff; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Presentation")] + public const uint Presentation; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Prev_VMode")] public const uint Prev_VMode; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Prev_Virtual_Screen")] public const uint Prev_Virtual_Screen; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_PreviousCandidate")] public const uint PreviousCandidate; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_PreviousElement")] + public const uint PreviousElement; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Print")] public const uint Print; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Prior")] public const uint Prior; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_PrivacyScreenToggle")] + public const uint PrivacyScreenToggle; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Q")] public const uint Q; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_R")] @@ -2077,8 +2457,16 @@ namespace Clutter { public const uint R8; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_R9")] public const uint R9; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RFKill")] + public const uint RFKill; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Racute")] public const uint Racute; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RadarOverlay")] + public const uint RadarOverlay; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Rcaron")] public const uint Rcaron; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Rcedilla")] @@ -2089,6 +2477,10 @@ namespace Clutter { public const uint Redo; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Refresh")] public const uint Refresh; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RefreshRateToggle")] + public const uint RefreshRateToggle; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Reload")] public const uint Reload; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RepeatKeys_Enable")] @@ -2099,6 +2491,12 @@ namespace Clutter { public const uint Return; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Right")] public const uint Right; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RightDown")] + public const uint RightDown; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RightUp")] + public const uint RightUp; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RockerDown")] public const uint RockerDown; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RockerEnter")] @@ -2107,10 +2505,18 @@ namespace Clutter { public const uint RockerUp; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Romaji")] public const uint Romaji; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RootMenu")] + public const uint RootMenu; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RotateWindows")] public const uint RotateWindows; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RotationKB")] public const uint RotationKB; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RotationLockToggle")] + public const uint RotationLockToggle; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RotationPB")] public const uint RotationPB; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RupeeSign")] @@ -2133,6 +2539,10 @@ namespace Clutter { public const uint Scircumflex; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ScreenSaver")] public const uint ScreenSaver; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Screensaver")] + public const uint Screensaver; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ScrollClick")] public const uint ScrollClick; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ScrollDown")] @@ -2147,6 +2557,10 @@ namespace Clutter { public const uint Select; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SelectButton")] public const uint SelectButton; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SelectiveScreenshot")] + public const uint SelectiveScreenshot; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Send")] public const uint Send; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Serbian_DJE")] @@ -2181,8 +2595,16 @@ namespace Clutter { public const uint Shift_R; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Shop")] public const uint Shop; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SidevuSonar")] + public const uint SidevuSonar; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SingleCandidate")] public const uint SingleCandidate; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SingleRangeRadar")] + public const uint SingleRangeRadar; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_a")] public const uint Sinh_a; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_aa")] @@ -2347,8 +2769,18 @@ namespace Clutter { public const uint Sleep; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SlowKeys_Enable")] public const uint SlowKeys_Enable; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SlowReverse")] + public const uint SlowReverse; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sos")] + public const uint Sos; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Spell")] public const uint Spell; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SpellCheck")] + public const uint SpellCheck; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SplitScreen")] public const uint SplitScreen; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Standby")] @@ -2359,6 +2791,10 @@ namespace Clutter { public const uint StickyKeys_Enable; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Stop")] public const uint Stop; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_StopRecord")] + public const uint StopRecord; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Subtitle")] public const uint Subtitle; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Super_L")] @@ -2405,6 +2841,10 @@ namespace Clutter { public const uint Tabovedot; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_TaskPane")] public const uint TaskPane; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Taskmanager")] + public const uint Taskmanager; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Tcaron")] public const uint Tcaron; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Tcedilla")] @@ -2599,6 +3039,10 @@ namespace Clutter { public const uint TouchpadToggle; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Touroku")] public const uint Touroku; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_TraditionalSonar")] + public const uint TraditionalSonar; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Travel")] public const uint Travel; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Tslash")] @@ -2669,6 +3113,10 @@ namespace Clutter { public const uint Undo; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ungrab")] public const uint Ungrab; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Unmute")] + public const uint Unmute; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Uogonek")] public const uint Uogonek; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Up")] @@ -2685,18 +3133,38 @@ namespace Clutter { public const uint Utilde; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_V")] public const uint V; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_VOD")] + public const uint VOD; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_VendorHome")] public const uint VendorHome; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Video")] public const uint Video; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_VideoPhone")] + public const uint VideoPhone; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_View")] public const uint View; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_VoiceCommand")] + public const uint VoiceCommand; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Voicemail")] + public const uint Voicemail; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_VoidSymbol")] public const uint VoidSymbol; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_W")] public const uint W; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_WLAN")] public const uint WLAN; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_WPSButton")] + public const uint WPSButton; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_WWAN")] + public const uint WWAN; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_WWW")] public const uint WWW; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Wacute")] @@ -2761,6 +3229,10 @@ namespace Clutter { public const uint ZoomIn; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ZoomOut")] public const uint ZoomOut; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ZoomReset")] + public const uint ZoomReset; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Zstroke")] public const uint Zstroke; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_a")] @@ -3441,6 +3913,18 @@ namespace Clutter { public const uint club; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_colon")] public const uint colon; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_combining_acute")] + public const uint combining_acute; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_combining_belowdot")] + public const uint combining_belowdot; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_combining_grave")] + public const uint combining_grave; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_combining_hook")] + public const uint combining_hook; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_combining_tilde")] + public const uint combining_tilde; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_comma")] public const uint comma; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_containsas")] @@ -3473,6 +3957,10 @@ namespace Clutter { public const uint dead_I; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_O")] public const uint dead_O; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_SCHWA")] + public const uint dead_SCHWA; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_U")] public const uint dead_U; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_a")] @@ -3533,6 +4021,10 @@ namespace Clutter { public const uint dead_grave; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_greek")] public const uint dead_greek; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_hamza")] + public const uint dead_hamza; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_hook")] public const uint dead_hook; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_horn")] @@ -3557,6 +4049,10 @@ namespace Clutter { public const uint dead_perispomeni; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_psili")] public const uint dead_psili; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_schwa")] + public const uint dead_schwa; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_semivoiced_sound")] public const uint dead_semivoiced_sound; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_small_schwa")] @@ -3745,6 +4241,12 @@ namespace Clutter { public const uint greater; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_greaterthanequal")] public const uint greaterthanequal; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_guillemetleft")] + public const uint guillemetleft; + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_guillemetright")] + public const uint guillemetright; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_guillemotleft")] public const uint guillemotleft; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_guillemotright")] @@ -4231,6 +4733,10 @@ namespace Clutter { public const uint opentribulletup; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ordfeminine")] public const uint ordfeminine; +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ordmasculine")] + public const uint ordmasculine; +#endif [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_oslash")] public const uint oslash; [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_otilde")] @@ -4561,6 +5067,7 @@ namespace Clutter { public const uint zstroke; } namespace Threads { +#if !HAS_MUTTER48 namespace Idle { [CCode (cheader_filename = "clutter/clutter.h", cname = "clutter_threads_add_idle")] public static uint add (GLib.SourceFunc func); @@ -4573,10 +5080,15 @@ namespace Clutter { [CCode (cheader_filename = "clutter/clutter.h", cname = "clutter_threads_add_timeout_full")] public static uint add_full (int priority, uint interval, owned GLib.SourceFunc func); } +#endif [CCode (cheader_filename = "clutter/clutter.h")] +#if HAS_MUTTER48 + public static uint add_repaint_func (Clutter.RepaintFlags flags, owned GLib.SourceFunc func); +#else public static uint add_repaint_func (owned GLib.SourceFunc func); [CCode (cheader_filename = "clutter/clutter.h")] public static uint add_repaint_func_full (Clutter.RepaintFlags flags, owned GLib.SourceFunc func); +#endif [CCode (cheader_filename = "clutter/clutter.h")] public static void remove_repaint_func (uint handle_id); } @@ -4611,8 +5123,10 @@ namespace Clutter { public static void set_shader_int (GLib.Value value, [CCode (array_length_cname = "size", array_length_pos = 1.5)] int[] ints); [CCode (cheader_filename = "clutter/clutter.h")] public static void set_shader_matrix (GLib.Value value, [CCode (array_length_cname = "size", array_length_pos = 1.5)] float[] matrix); +#if !HAS_MUTTER48 [CCode (cheader_filename = "clutter/clutter.h")] public static void set_units (GLib.Value value, Clutter.Units units); +#endif [CCode (cheader_filename = "clutter/clutter.h")] public static void take_paint_node (GLib.Value value, Clutter.PaintNode? node); } @@ -4622,7 +5136,7 @@ namespace Clutter { protected Action (); public Clutter.EventPhase get_phase (); [NoWrapper] - public virtual bool handle_event (Clutter.Event event); + public virtual bool handle_event ([CCode (type = "const ClutterEvent *")] Clutter.Event event); #if HAS_MUTTER47 [NoWrapper] public virtual bool register_sequence (Clutter.Event event); @@ -4652,7 +5166,7 @@ namespace Clutter { public void add_effect (Clutter.Effect effect); public void add_effect_with_name (string name, Clutter.Effect effect); public void add_transition (string name, Clutter.Transition transition); - public virtual void allocate (Clutter.ActorBox box); + public virtual void allocate ([CCode (type = "const ClutterActorBox *")] Clutter.ActorBox box); public void allocate_align_fill (Clutter.ActorBox box, double x_align, double y_align, bool x_fill, bool y_fill); public void allocate_available_size (float x, float y, float available_width, float available_height); public void allocate_preferred_size (float x, float y); @@ -4669,7 +5183,13 @@ namespace Clutter { public bool contains (Clutter.Actor descendant); public void continue_paint (Clutter.PaintContext paint_context); public void continue_pick (Clutter.PickContext pick_context); +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter-pango.h")] +#endif public Pango.Context create_pango_context (); +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter-pango.h")] +#endif public Pango.Layout create_pango_layout (string? text); #if HAS_MUTTER46 public Clutter.PaintNode create_texture_paint_node (Cogl.Texture texture); @@ -4745,6 +5265,9 @@ namespace Clutter { [CCode (vfunc_name = "get_paint_volume")] [NoWrapper] public virtual bool get_paint_volume_vfunc (out Clutter.PaintVolume volume); +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter-pango.h")] +#endif public unowned Pango.Context get_pango_context (); public unowned Clutter.Actor? get_parent (); public void get_pivot_point (out float pivot_x, out float pivot_y); @@ -4755,13 +5278,16 @@ namespace Clutter { public virtual void get_preferred_width (float for_height, out float min_width_p, out float natural_width_p); public unowned Clutter.Actor? get_previous_sibling (); public bool get_reactive (); +#if !HAS_MUTTER48 public Graphene.Matrix get_relative_transformation_matrix (Clutter.Actor? ancestor); +#endif public Clutter.RequestMode get_request_mode (); public float get_resource_scale (); public double get_rotation_angle (Clutter.RotateAxis axis); public void get_scale (out double scale_x, out double scale_y); public double get_scale_z (); public void get_size (out float width, out float height); + [CCode (type = "ClutterActor *")] public unowned Clutter.Stage get_stage (); public Clutter.TextDirection get_text_direction (); public Graphene.Matrix get_transform (); @@ -4786,7 +5312,9 @@ namespace Clutter { public bool has_actions (); public bool has_allocation (); public bool has_constraints (); +#if !HAS_MUTTER48 public bool has_damage (); +#endif public bool has_effects (); public bool has_key_focus (); public bool has_mapped_clones (); @@ -4799,7 +5327,9 @@ namespace Clutter { public void insert_child_below (Clutter.Actor child, Clutter.Actor? sibling); public void invalidate_paint_volume (); public void invalidate_transform (); +#if !HAS_MUTTER48 public bool is_effectively_on_stage_view (Clutter.StageView view); +#endif public bool is_in_clone_paint (); public bool is_mapped (); #if HAS_MUTTER47 @@ -4812,7 +5342,9 @@ namespace Clutter { public virtual void map (); public void move_by (float dx, float dy); public bool needs_expand (Clutter.Orientation orientation); +#if !HAS_MUTTER48 public void notify_transform_invalid (); +#endif public virtual void paint (Clutter.PaintContext paint_context); [NoWrapper] #if HAS_MUTTER47 @@ -4824,6 +5356,9 @@ namespace Clutter { public void pick_box (Clutter.PickContext pick_context, Clutter.ActorBox box); public void queue_redraw (); public void queue_redraw_with_clip (Mtk.Rectangle? clip); +#if HAS_MUTTER48 + public void remove_accessible_state (Atk.StateType state); +#endif public void remove_action (Clutter.Action action); public void remove_action_by_name (string name); public void remove_all_children (); @@ -4855,7 +5390,7 @@ namespace Clutter { public void set_child_transform (Graphene.Matrix? transform); public void set_clip (float xoff, float yoff, float width, float height); public void set_clip_to_allocation (bool clip_set); - public void set_color_state (Clutter.ColorState? color_state); + public void set_color_state (Clutter.ColorState color_state); public void set_content (Clutter.Content? content); public void set_content_gravity (Clutter.ContentGravity gravity); public void set_content_repeat (Clutter.ContentRepeat repeat); @@ -4879,6 +5414,9 @@ namespace Clutter { public void set_margin_right (float margin); public void set_margin_top (float margin); public void set_name (string? name); +#if HAS_MUTTER48 + public void set_no_layout (bool no_layout); +#endif public void set_offscreen_redirect (Clutter.OffscreenRedirect redirect); public void set_opacity (uint8 opacity); public void set_opacity_override (int opacity); @@ -5123,18 +5661,22 @@ namespace Clutter { protected Backend (); public unowned Cogl.Context get_cogl_context (); public unowned Clutter.Seat get_default_seat (); +#if !HAS_MUTTER48 public unowned Cairo.FontOptions get_font_options (); +#endif public unowned Clutter.InputMethod get_input_method (); public double get_resolution (); +#if !HAS_MUTTER48 public void set_font_options (Cairo.FontOptions options); +#endif public void set_input_method (Clutter.InputMethod? method); - public signal void font_changed (); - public signal void resolution_changed (); - public signal void settings_changed (); #if HAS_MUTTER47 [NoAccessorMethod] public Clutter.Context context { owned get; construct; } #endif + public signal void font_changed (); + public signal void resolution_changed (); + public signal void settings_changed (); } [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_bin_layout_get_type ()")] public class BinLayout : Clutter.LayoutManager { @@ -5327,28 +5869,51 @@ namespace Clutter { public sealed class ColorState : GLib.Object { [CCode (has_construct_function = false)] #if HAS_MUTTER47 +#if HAS_MUTTER48 + protected ColorState (); +#else public ColorState (Clutter.Context context, Clutter.Colorspace colorspace, Clutter.TransferFunction transfer_function); +#endif public void add_pipeline_transform (Clutter.ColorState target_color_state, Cogl.Pipeline pipeline); +#if HAS_MUTTER48 + public virtual void do_transform (Clutter.ColorState target_color_state, float input, float output, int n_samples); + public virtual bool equals (Clutter.ColorState other_color_state); + public virtual Clutter.ColorState get_blending (bool force); +#else public bool equals (Clutter.ColorState other_color_state); [CCode (has_construct_function = false)] public ColorState.full (Clutter.Context context, Clutter.Colorspace colorspace, Clutter.TransferFunction transfer_function, float min_lum, float max_lum, float ref_lum); public Clutter.ColorState get_blending (bool force); +#endif #else public ColorState (Clutter.Colorspace colorspace); #endif +#if !HAS_MUTTER48 public Clutter.Colorspace get_colorspace (); +#endif #if HAS_MUTTER47 public uint get_id (); +#if HAS_MUTTER48 + [NoWrapper] + public virtual void init_color_transform_key (Clutter.ColorState target_color_state, Clutter.ColorTransformKey key); + public virtual Clutter.EncodingRequiredFormat required_format (); + public virtual string to_string (); + public virtual void update_uniforms (Clutter.ColorState target_color_state, Cogl.Pipeline pipeline); +#else public void get_luminances (float min_lum_out, float max_lum_out, float ref_lum_out); public Clutter.TransferFunction get_transfer_function (); public Clutter.EncodingRequiredFormat required_format (); public string to_string (); public void update_uniforms (Clutter.ColorState target_color_state, Cogl.Pipeline pipeline); #endif +#endif +#if !HAS_MUTTER48 public Clutter.Colorspace colorspace { get; construct; } +#endif #if HAS_MUTTER47 [NoAccessorMethod] public Clutter.Context context { owned get; construct; } +#if !HAS_MUTTER48 [NoAccessorMethod] public float max_luminance { get; construct; } [NoAccessorMethod] @@ -5356,8 +5921,27 @@ namespace Clutter { [NoAccessorMethod] public float ref_luminance { get; construct; } public Clutter.TransferFunction transfer_function { get; construct; } +#endif #endif } +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_color_state_params_get_type ()")] + public class ColorStateParams : Clutter.ColorState { + [CCode (has_construct_function = false, type = "ClutterColorState*")] + public ColorStateParams (Clutter.Context context, Clutter.Colorspace colorspace, Clutter.TransferFunction transfer_function); + [CCode (has_construct_function = false, type = "ClutterColorState*")] + public ColorStateParams.from_primitives (Clutter.Context context, Clutter.Colorimetry colorimetry, Clutter.EOTF eotf, Clutter.Luminance luminance); + [CCode (has_construct_function = false, type = "ClutterColorState*")] + public ColorStateParams.full (Clutter.Context context, Clutter.Colorspace colorspace, Clutter.TransferFunction transfer_function, Clutter.Primaries primaries, float gamma_exp, float min_lum, float max_lum, float ref_lum); + public unowned Clutter.Colorimetry? get_colorimetry (); + public unowned Clutter.EOTF? get_eotf (); + public unowned Clutter.Luminance? get_luminance (); + } + [CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)] + [Compact] + public class ColorTransformKey { + } +#endif [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_colorize_effect_get_type ()")] public class ColorizeEffect : Clutter.OffscreenEffect { [CCode (has_construct_function = false, type = "ClutterEffect*")] @@ -5610,6 +6194,9 @@ namespace Clutter { public sealed class FrameClock : GLib.Object { [CCode (has_construct_function = false)] protected FrameClock (); +#if HAS_MUTTER48 + public void add_future_time (int64 when_us); +#endif public void add_timeline (Clutter.Timeline timeline); public GLib.StringBuilder get_max_render_time_debug_info (); public float get_refresh_rate (); @@ -5741,6 +6328,7 @@ namespace Clutter { [Compact] public class IMEvent : Clutter.Event { } +#if !HAS_MUTTER48 [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_image_get_type ()")] public class Image : GLib.Object, Clutter.Content { [CCode (has_construct_function = false, type = "ClutterContent*")] @@ -5750,6 +6338,7 @@ namespace Clutter { public bool set_bytes (GLib.Bytes data, Cogl.PixelFormat pixel_format, uint width, uint height, uint row_stride) throws GLib.Error; public bool set_data ([CCode (array_length = false)] uint8[] data, Cogl.PixelFormat pixel_format, uint width, uint height, uint row_stride) throws GLib.Error; } +#endif [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_input_device_get_type ()")] public class InputDevice : GLib.Object { [CCode (has_construct_function = false)] @@ -6029,7 +6618,6 @@ namespace Clutter { public virtual Cogl.Handle create_texture (float width, float height); #endif public unowned Cogl.Pipeline? get_pipeline (); - [Version (deprecated = true, deprecated_since = "1.14")] public bool get_target_size (out float width, out float height); #if HAS_MUTTER46 public unowned Cogl.Texture get_texture (); @@ -6078,10 +6666,10 @@ namespace Clutter { public void pop_color_state (); #endif public void pop_framebuffer (); - public void push_framebuffer (Cogl.Framebuffer framebuffer); #if HAS_MUTTER47 public void push_color_state (Clutter.ColorState color_state); #endif + public void push_framebuffer (Cogl.Framebuffer framebuffer); public unowned Clutter.PaintContext @ref (); public void unref (); } @@ -6099,6 +6687,9 @@ namespace Clutter { public void paint (Clutter.PaintContext paint_context); public unowned Clutter.PaintNode @ref (); public void set_name (string name); +#if HAS_MUTTER48 + public void set_static_name (string name); +#endif public void unref (); } [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_pan_action_get_type ()")] @@ -6223,7 +6814,9 @@ namespace Clutter { [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_root_node_get_type ()")] public class RootNode : Clutter.PaintNode { [CCode (has_construct_function = false, type = "ClutterPaintNode*")] -#if HAS_MUTTER47 +#if HAS_MUTTER48 + public RootNode (Cogl.Framebuffer framebuffer, Clutter.ColorState color_state, Cogl.Color clear_color, Cogl.BufferBit clear_flags); +#elif HAS_MUTTER47 public RootNode (Cogl.Framebuffer framebuffer, Cogl.Color clear_color, Cogl.BufferBit clear_flags); #else public RootNode (Cogl.Framebuffer framebuffer, Clutter.Color clear_color, Cogl.BufferBit clear_flags); @@ -6262,6 +6855,12 @@ namespace Clutter { public string translation_domain { get; set; } } #endif +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)] + [Compact] + public class ScrollActor { + } +#endif #if !HAS_MUTTER47 [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_scroll_actor_get_type ()")] #if HAS_MUTTER46 @@ -6300,6 +6899,9 @@ namespace Clutter { public bool get_touch_mode (); [NoWrapper] public virtual Clutter.GrabState grab (uint32 time); +#if HAS_MUTTER48 + [NoWrapper] +#endif public virtual bool handle_event_post (Clutter.Event event); public void inhibit_unfocus (); [NoWrapper] @@ -6338,18 +6940,24 @@ namespace Clutter { public int double_click_distance { get; set; } [NoAccessorMethod] public int double_click_time { get; set; } +#if !HAS_MUTTER48 [NoAccessorMethod] public int font_antialias { get; set; } +#endif [NoAccessorMethod] public int font_dpi { get; set; } +#if !HAS_MUTTER48 [NoAccessorMethod] public string font_hint_style { owned get; set; } [NoAccessorMethod] public int font_hinting { get; set; } +#endif [NoAccessorMethod] public string font_name { owned get; set; } +#if !HAS_MUTTER48 [NoAccessorMethod] public string font_subpixel_order { owned get; set; } +#endif #if !HAS_MUTTER47 [NoAccessorMethod] public uint fontconfig_timestamp { set; } @@ -6358,8 +6966,10 @@ namespace Clutter { public int long_press_duration { get; set; } [NoAccessorMethod] public uint password_hint_time { get; set; } +#if !HAS_MUTTER48 [NoAccessorMethod] public int unscaled_font_dpi { set; } +#endif } #if !HAS_MUTTER46 [CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)] @@ -6370,7 +6980,11 @@ namespace Clutter { [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_shader_effect_get_type ()")] public class ShaderEffect : Clutter.OffscreenEffect { [CCode (has_construct_function = false, type = "ClutterEffect*")] +#if HAS_MUTTER48 + public ShaderEffect (Cogl.ShaderType shader_type); +#else public ShaderEffect (Clutter.ShaderType shader_type); +#endif #if HAS_MUTTER46 public unowned Cogl.Program get_program (); public unowned Cogl.Shader get_shader (); @@ -6383,7 +6997,11 @@ namespace Clutter { public bool set_shader_source (string source); public void set_uniform_value (string name, GLib.Value value); [NoAccessorMethod] +#if HAS_MUTTER48 + public Cogl.ShaderType shader_type { construct; } +#else public Clutter.ShaderType shader_type { construct; } +#endif } [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_shader_float_get_type ()")] public class ShaderFloat { @@ -6425,18 +7043,24 @@ namespace Clutter { #endif [CCode (has_construct_function = false)] protected Stage (); +#if !HAS_MUTTER48 public void capture_view_into (Clutter.StageView view, Mtk.Rectangle rect, uint8 data, int stride); public void clear_stage_views (); +#endif public void ensure_viewport (); public unowned Clutter.Actor get_actor_at_pos (Clutter.PickMode pick_mode, float x, float y); public bool get_capture_final_size (Mtk.Rectangle rect, out int out_width, out int out_height, out float out_scale); public unowned Clutter.Actor? get_device_actor (Clutter.InputDevice device, Clutter.EventSequence? sequence); public unowned Clutter.Actor? get_event_actor (Clutter.Event event); +#if !HAS_MUTTER48 public int64 get_frame_counter (); +#endif public unowned Clutter.Actor? get_grab_actor (); - public unowned Clutter.Actor get_key_focus (); + public unowned Clutter.Actor? get_key_focus (); public Clutter.Perspective get_perspective (); +#if !HAS_MUTTER48 public unowned string get_title (); +#endif public Clutter.Grab grab (Clutter.Actor actor); #if HAS_MUTTER47 public Clutter.Grab grab_inactive (Clutter.Actor actor); @@ -6451,25 +7075,31 @@ namespace Clutter { public bool pointing_input_foreach (Clutter.StageInputForeachFunc func); [CCode (array_length = false)] public uint8[] read_pixels (int x, int y, int width = -1, int height = -1); +#if !HAS_MUTTER48 public void repick_device (Clutter.InputDevice device); +#endif public void schedule_update (); #if HAS_MUTTER47 public void set_active (bool is_active); #endif public void set_key_focus (Clutter.Actor? actor); public void set_minimum_size (uint width, uint height); +#if !HAS_MUTTER48 public void set_title (string title); #if HAS_MUTTER46 public void update_device (Clutter.InputDevice device, Clutter.EventSequence sequence, Clutter.InputDevice source_device, Graphene.Point point, uint32 time, Clutter.Actor new_actor, Mtk.Region region, bool emit_crossing); #else public void update_device (Clutter.InputDevice device, Clutter.EventSequence sequence, Clutter.InputDevice source_device, Graphene.Point point, uint32 time, Clutter.Actor new_actor, Cairo.Region region, bool emit_crossing); +#endif #endif [NoAccessorMethod] public bool is_grabbed { get; } public Clutter.Actor key_focus { get; set; } public Clutter.Perspective perspective { get; } +#if !HAS_MUTTER48 public string title { get; set; } public virtual signal void activate (); +#endif public signal void after_paint (Clutter.StageView view, Clutter.Frame frame); public signal void after_update (Clutter.StageView view, Clutter.Frame frame); public virtual signal void before_paint (Clutter.StageView view, Clutter.Frame frame); @@ -6477,6 +7107,9 @@ namespace Clutter { public virtual signal void deactivate (); public virtual signal void paint_view (Clutter.StageView view, Cairo.Region redraw_clip, Clutter.Frame frame); public signal void prepare_frame (Clutter.StageView view, Clutter.Frame frame); +#if HAS_MUTTER48 + public virtual signal void skipped_paint (Clutter.StageView view, Clutter.Frame frame); +#endif } #if !HAS_MUTTER47 [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_stage_manager_get_type ()")] @@ -6496,7 +7129,9 @@ namespace Clutter { public class StageView : GLib.Object { [CCode (has_construct_function = false)] protected StageView (); +#if !HAS_MUTTER48 public void assign_next_scanout (Cogl.Scanout scanout); +#endif public virtual Clutter.PaintFlag get_default_paint_flags (); public unowned Cogl.Framebuffer get_framebuffer (); public void get_layout (Mtk.Rectangle rect); @@ -6512,7 +7147,9 @@ namespace Clutter { public Mtk.MonitorTransform get_transform (); #endif public bool has_shadowfb (); +#if !HAS_MUTTER48 public void invalidate_offscreen_blit_pipeline (); +#endif [NoWrapper] public virtual Clutter.Frame new_frame (); #if HAS_MUTTER47 @@ -6581,7 +7218,11 @@ namespace Clutter { public TapAction (); public virtual signal void tap (Clutter.Actor actor); } +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter-pango.h", type_id = "clutter_text_get_type ()")] +#else [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_text_get_type ()")] +#endif #if HAS_MUTTER46 public class Text : Clutter.Actor, Atk.Implementor, Clutter.Animatable { #else @@ -6757,7 +7398,11 @@ namespace Clutter { public signal void delete_text (int start_pos, int end_pos); public virtual signal void text_changed (); } +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter-pango.h", type_id = "clutter_text_buffer_get_type ()")] +#else [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_text_buffer_get_type ()")] +#endif public class TextBuffer : GLib.Object { [CCode (has_construct_function = false)] public TextBuffer (); @@ -6782,7 +7427,11 @@ namespace Clutter { public virtual signal void deleted_text (uint position, uint n_chars); public virtual signal void inserted_text (uint position, string chars, uint n_chars); } +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter-pango.h", type_id = "clutter_text_node_get_type ()")] +#else [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_text_node_get_type ()")] +#endif public class TextNode : Clutter.PaintNode { [CCode (has_construct_function = false, type = "ClutterPaintNode*")] #if HAS_MUTTER47 @@ -6973,6 +7622,7 @@ namespace Clutter { public abstract bool interpolate_value (string property_name, Clutter.Interval interval, double progress, out GLib.Value value); public abstract void set_final_state (string property_name, GLib.Value value); } +#if !HAS_MUTTER48 #if HAS_MUTTER46 [CCode (cheader_filename = "clutter/clutter.h")] #else @@ -7011,6 +7661,7 @@ namespace Clutter { public virtual signal void child_notify (Clutter.Actor child, GLib.ParamSpec pspec); #endif } +#endif [CCode (cheader_filename = "clutter/clutter.h", type_cname = "ClutterContentInterface", type_id = "clutter_content_get_type ()")] public interface Content : GLib.Object { public abstract bool get_preferred_size (out float width, out float height); @@ -7067,6 +7718,7 @@ namespace Clutter { public bool prev (out unowned Clutter.Actor? child); public void remove (); } +#if !HAS_MUTTER48 [CCode (cheader_filename = "clutter/clutter.h", has_copy_function = false, has_destroy_function = false, has_type_id = false)] public struct Capture { #if !HAS_MUTTER46 @@ -7074,6 +7726,29 @@ namespace Clutter { public Mtk.Rectangle rect; #endif } +#endif +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)] + public struct Colorimetry { + public Clutter.ColorimetryType type; + public Clutter.Colorspace colorspace; + public Clutter.Primaries primaries; + } + [CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)] + public struct EOTF { + public Clutter.EOTFType type; + public Clutter.TransferFunction tf_name; + public float gamma_exp; + public unowned Clutter.Luminance? get_default_luminance (); + } + [CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)] + public struct Luminance { + public Clutter.LuminanceType type; + public float min; + public float max; + public float @ref; + } +#endif #if !HAS_MUTTER47 [CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_color_get_type ()")] public struct Color { @@ -7209,6 +7884,20 @@ namespace Clutter { public int dwell_delay; public int dwell_threshold; } +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)] + public struct Primaries { + public float r_x; + public float r_y; + public float g_x; + public float g_y; + public float b_x; + public float b_y; + public float w_x; + public float w_y; + public void ensure_normalized_range (); + } +#endif #if HAS_MUTTER47 [CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)] public struct TextureVertex { @@ -7220,6 +7909,7 @@ namespace Clutter { public Cogl.Color color; } #endif +#if !HAS_MUTTER48 #if HAS_MUTTER46 [CCode (cheader_filename = "clutter/clutter.h")] #else @@ -7251,6 +7941,7 @@ namespace Clutter { public string to_string (); #endif } +#endif [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_ACTOR_ALIGN_", type_id = "clutter_actor_align_get_type ()")] public enum ActorAlign { FILL, @@ -7356,6 +8047,13 @@ namespace Clutter { RELEASED, PRESSED } +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_COLORIMETRY_TYPE_", type_id = "clutter_colorimetry_type_get_type ()")] + public enum ColorimetryType { + COLORSPACE, + PRIMARIES + } +#endif [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_COLORSPACE_", type_id = "clutter_colorspace_get_type ()")] public enum Colorspace { #if HAS_MUTTER47 @@ -7364,7 +8062,13 @@ namespace Clutter { UNKNOWN, #endif SRGB, +#if HAS_MUTTER48 + BT2020, + NTSC; + public unowned Clutter.Primaries? to_primaries (); +#else BT2020 +#endif } [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_CONTENT_GRAVITY_", type_id = "clutter_content_gravity_get_type ()")] public enum ContentGravity { @@ -7388,6 +8092,7 @@ namespace Clutter { Y_AXIS, BOTH } +#if !HAS_MUTTER48 #if HAS_MUTTER46 [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_CONTEXT_FLAG_", type_id = "clutter_context_flags_get_type ()")] [Flags] @@ -7395,6 +8100,7 @@ namespace Clutter { NONE, NO_A11Y } +#endif #endif [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_DEBUG_", type_id = "clutter_debug_flag_get_type ()")] [Flags] @@ -7445,8 +8151,18 @@ namespace Clutter { PAINT_DEFORM_TILES, PAINT_DAMAGE_REGION, DISABLE_DYNAMIC_MAX_RENDER_TIME, +#if HAS_MUTTER48 + DISABLE_TRIPLE_BUFFERING, +#endif PAINT_MAX_RENDER_TIME } +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_EOTF_TYPE_", type_id = "clutter_eotf_type_get_type ()")] + public enum EOTFType { + NAMED, + GAMMA + } +#endif [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_EFFECT_PAINT_", type_id = "clutter_effect_paint_flags_get_type ()")] [Flags] public enum EffectPaintFlags { @@ -7470,6 +8186,9 @@ namespace Clutter { FLAG_REPEATED, FLAG_RELATIVE_MOTION, FLAG_POINTER_EMULATED, +#if HAS_MUTTER48 + FLAG_A11Y_MODIFIER_FIRST_CLICK, +#endif FLAG_GRAB_NOTIFY } [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_PHASE_", type_id = "clutter_event_phase_get_type ()")] @@ -7704,6 +8423,13 @@ namespace Clutter { ACTIVATE, CANCEL } +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_LUMINANCE_TYPE_", type_id = "clutter_luminance_type_get_type ()")] + public enum LuminanceType { + DERIVED, + EXPLICIT + } +#endif [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_", type_id = "clutter_modifier_type_get_type ()")] [Flags] public enum ModifierType { @@ -7892,11 +8618,13 @@ namespace Clutter { FINGER, CONTINUOUS } +#if !HAS_MUTTER48 [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_", type_id = "clutter_shader_type_get_type ()")] public enum ShaderType { VERTEX_SHADER, FRAGMENT_SHADER } +#endif [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_SNAP_EDGE_", type_id = "clutter_snap_edge_get_type ()")] public enum SnapEdge { TOP, @@ -7991,8 +8719,13 @@ namespace Clutter { DEFAULT, SRGB, PQ, +#if HAS_MUTTER48 + BT709, + LINEAR +#else LINEAR; public void get_default_luminances (out float min_lum_out, out float max_lum_out, out float ref_lum_out); +#endif } #endif #if !HAS_MUTTER46 @@ -8063,6 +8796,10 @@ namespace Clutter { public static void cairo_clear (Cairo.Context cr); [CCode (cheader_filename = "clutter/clutter.h")] public static void cairo_set_source_color (Cairo.Context cr, Clutter.Color color); +#endif +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h")] + public static void add_debug_flags (Clutter.DebugFlag debug_flags, Clutter.DrawDebugFlag draw_flags, Clutter.PickDebugFlag pick_flags); #endif [CCode (cheader_filename = "clutter/clutter.h")] public static void debug_set_max_render_time_constant (int max_render_time_constant_us); @@ -8079,7 +8816,7 @@ namespace Clutter { [CCode (cheader_filename = "clutter/clutter.h")] public static uint32 get_current_event_time (); [CCode (cheader_filename = "clutter/clutter.h")] - public static void get_debug_flags (Clutter.DebugFlag debug_flags, Clutter.DrawDebugFlag draw_flags, Clutter.PickDebugFlag pick_flags); + public static void get_debug_flags (out Clutter.DebugFlag debug_flags, out Clutter.DrawDebugFlag draw_flags, out Clutter.PickDebugFlag pick_flags); [CCode (cheader_filename = "clutter/clutter.h")] public static unowned Clutter.Backend get_default_backend (); [CCode (cheader_filename = "clutter/clutter.h")] @@ -8100,6 +8837,10 @@ namespace Clutter { public static void keyval_convert_case (uint symbol, out uint lower, out uint upper); [CCode (cheader_filename = "clutter/clutter.h")] public static unowned string? keyval_name (uint keyval); +#if HAS_MUTTER48 + [CCode (cheader_filename = "clutter/clutter.h")] + public static void remove_debug_flags (Clutter.DebugFlag debug_flags, Clutter.DrawDebugFlag draw_flags, Clutter.PickDebugFlag pick_flags); +#endif [CCode (cheader_filename = "clutter/clutter.h")] public static uint unicode_to_keysym (uint32 wc); } diff --git a/vapi/mutter-cogl-14.vapi b/vapi/mutter-cogl-14.vapi index f8087bc21..b3b82b5b5 100644 --- a/vapi/mutter-cogl-14.vapi +++ b/vapi/mutter-cogl-14.vapi @@ -18,7 +18,7 @@ namespace Cogl { public const int STENCIL; } [CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_atlas_get_type ()")] - public class Atlas : GLib.Object { + public sealed class Atlas : GLib.Object { [CCode (has_construct_function = false)] protected Atlas (); public bool reserve_space (uint width, uint height, void* user_data); @@ -38,7 +38,7 @@ namespace Cogl { public AtlasTexture.with_size (Cogl.Context ctx, int width, int height); } [CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_attribute_get_type ()")] - public class Attribute : GLib.Object { + public sealed class Attribute : GLib.Object { [CCode (has_construct_function = false)] public Attribute (Cogl.AttributeBuffer attribute_buffer, string name, size_t stride, size_t offset, int components, Cogl.AttributeType type); #if !HAS_MUTTER47 @@ -78,7 +78,7 @@ namespace Cogl { public AttributeBuffer.with_size (Cogl.Context context, size_t bytes); } [CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_bitmap_get_type ()")] - public class Bitmap : GLib.Object { + public sealed class Bitmap : GLib.Object { [CCode (has_construct_function = false)] protected Bitmap (); [CCode (has_construct_function = false)] @@ -113,7 +113,7 @@ namespace Cogl { public Cogl.BufferUpdateHint update_hint { set construct; } } [CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_context_get_type ()")] - public class Context : GLib.Object { + public sealed class Context : GLib.Object { [CCode (has_construct_function = false)] public Context (Cogl.Display? display) throws GLib.Error; #if HAS_MUTTER47 @@ -129,7 +129,13 @@ namespace Cogl { [CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_get_graphics_reset_status")] #endif public Cogl.GraphicsResetStatus get_graphics_reset_status (); +#if HAS_MUTTER48 + public int get_latest_sync_fd (); +#endif public unowned Cogl.Pipeline get_named_pipeline (Cogl.PipelineKey key); +#if HAS_MUTTER48 + public unowned Cogl.Indices get_rectangle_indices (int n_rectangles); +#endif public unowned Cogl.Renderer get_renderer (); #if !HAS_MUTTER47 [CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_has_feature")] @@ -143,7 +149,7 @@ namespace Cogl { public int64 timestamp_query_get_time_ns (Cogl.TimestampQuery query); } [CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_display_get_type ()")] - public class Display : GLib.Object { + public sealed class Display : GLib.Object { [CCode (has_construct_function = false)] #if HAS_MUTTER47 public Display (Cogl.Renderer renderer); @@ -162,11 +168,22 @@ namespace Cogl { [DestroysInstance] public void free (); public int get_bpp (); +#if HAS_MUTTER48 + public int get_fd (int plane); +#else public int get_fd (); +#endif public unowned Cogl.Framebuffer get_framebuffer (); public int get_height (); +#if HAS_MUTTER48 + public uint64 get_modifier (); + public int get_n_planes (); + public int get_offset (int plane); + public int get_stride (int plane); +#else public int get_offset (); public int get_stride (); +#endif public int get_width (); public void* mmap () throws GLib.Error; public bool munmap (void* data) throws GLib.Error; @@ -189,7 +206,7 @@ namespace Cogl { public class FrameClosure { } [CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_frame_info_get_type ()")] - public class FrameInfo : GLib.Object { + public sealed class FrameInfo : GLib.Object { [CCode (has_construct_function = false)] protected FrameInfo (); public int64 get_frame_counter (); @@ -215,7 +232,9 @@ namespace Cogl { public unowned Cogl.FenceClosure? add_fence_callback ([CCode (scope = "async")] Cogl.FenceCallback callback); #endif public virtual bool allocate () throws GLib.Error; +#if !HAS_MUTTER48 [CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_blit_framebuffer")] +#endif public bool blit (Cogl.Framebuffer dst, int src_x, int src_y, int dst_x, int dst_y, int width, int height) throws GLib.Error; #if !HAS_MUTTER47 public void cancel_fence_callback (Cogl.FenceClosure closure); @@ -319,12 +338,16 @@ namespace Cogl { public class Indices : GLib.Object { [CCode (has_construct_function = false)] public Indices (Cogl.Context context, Cogl.IndicesType type, void* indices_data, int n_indices); +#if !HAS_MUTTER48 [CCode (has_construct_function = false)] public Indices.for_buffer (Cogl.IndicesType type, Cogl.IndexBuffer buffer, size_t offset); +#endif public unowned Cogl.IndexBuffer get_buffer (); public Cogl.IndicesType get_indices_type (); +#if !HAS_MUTTER48 public size_t get_offset (); public void set_offset (size_t offset); +#endif } [CCode (cheader_filename = "cogl/cogl.h", ref_function = "cogl_matrix_entry_ref", type_id = "cogl_matrix_entry_get_type ()", unref_function = "cogl_matrix_entry_unref")] [Compact] @@ -339,7 +362,7 @@ namespace Cogl { public void unref (); } [CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_matrix_stack_get_type ()")] - public class MatrixStack : GLib.Object { + public sealed class MatrixStack : GLib.Object { [CCode (has_construct_function = false)] public MatrixStack (Cogl.Context ctx); public void frustum (float left, float right, float bottom, float top, float z_near, float z_far); @@ -363,7 +386,7 @@ namespace Cogl { public void translate (float x, float y, float z); } [CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_offscreen_get_type ()")] - public class Offscreen : Cogl.Framebuffer { + public sealed class Offscreen : Cogl.Framebuffer { [CCode (has_construct_function = false)] protected Offscreen (); public unowned Cogl.Texture get_texture (); @@ -387,7 +410,12 @@ namespace Cogl { #if !HAS_MUTTER47 public void hide (); #endif +#if HAS_MUTTER48 + public virtual bool get_window_handles (out void* device_out, out void* window_out); + public virtual void queue_damage_region (Mtk.Region region); +#else public virtual void queue_damage_region ([CCode (array_length_cname = "n_rectangles", array_length_pos = 1.1)] int[] rectangles); +#endif #if !HAS_MUTTER47 public void remove_dirty_callback (Cogl.OnscreenDirtyClosure closure); #endif @@ -396,8 +424,13 @@ namespace Cogl { public void show (); #endif public void swap_buffers (Cogl.FrameInfo frame_info, void* user_data); +#if HAS_MUTTER48 + public virtual void swap_buffers_with_damage (Mtk.Region region, Cogl.FrameInfo info); + public virtual void swap_region (Mtk.Region region, Cogl.FrameInfo info); +#else public virtual void swap_buffers_with_damage ([CCode (array_length_cname = "n_rectangles", array_length_pos = 1.5)] int[] rectangles, Cogl.FrameInfo info); public virtual void swap_region ([CCode (array_length_cname = "n_rectangles", array_length_pos = 1.5)] int[] rectangles, Cogl.FrameInfo info); +#endif } #if !HAS_MUTTER47 [CCode (cheader_filename = "cogl/cogl.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "cogl_onscreen_dirty_closure_get_type ()")] @@ -445,10 +478,16 @@ namespace Cogl { public Cogl.PipelineWrapMode get_layer_wrap_mode_s (int layer_index); public Cogl.PipelineWrapMode get_layer_wrap_mode_t (int layer_index); public int get_n_layers (); +#if HAS_MUTTER48 + public unowned string get_name (); +#endif public bool get_per_vertex_point_size (); public float get_point_size (); public int get_uniform_location (string uniform_name); public unowned Cogl.Program get_user_program (); +#if HAS_MUTTER48 + public bool has_capability (GLib.Quark domain, uint capability); +#endif public void remove_layer (int layer_index); public void set_alpha_test_function (Cogl.PipelineAlphaFunc alpha_func, float alpha_reference); public bool set_blend (string blend_string) throws GLib.Error; @@ -486,7 +525,7 @@ namespace Cogl { public PixelBuffer (Cogl.Context context, [CCode (array_length_cname = "size", array_length_pos = 1.5, array_length_type = "gsize")] uint8[] data); } [CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_primitive_get_type ()")] - public class Primitive : GLib.Object { + public sealed class Primitive : GLib.Object { [CCode (has_construct_function = false)] public Primitive (Cogl.VerticesMode mode, int n_vertices, ...); #if !HAS_MUTTER47 @@ -536,9 +575,10 @@ namespace Cogl { public Primitive.with_attributes (Cogl.VerticesMode mode, int n_vertices, [CCode (array_length_cname = "n_attributes", array_length_pos = 3.1)] Cogl.Attribute[] attributes); } [CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_program_get_type ()")] - public class Program : GLib.Object { + public sealed class Program : GLib.Object { [CCode (has_construct_function = false)] - protected Program (); + [Version (deprecated = true, deprecated_since = "1.16")] + public Program (); [Version (deprecated = true, deprecated_since = "1.16")] public void attach_shader (Cogl.Shader shader); #if !HAS_MUTTER47 @@ -562,7 +602,7 @@ namespace Cogl { public void set_uniform_matrix (int uniform_location, int dimensions, bool transpose, [CCode (array_length_cname = "count", array_length_pos = 2.5)] float[] value); } [CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_renderer_get_type ()")] - public class Renderer : GLib.Object { + public sealed class Renderer : GLib.Object { [CCode (has_construct_function = false)] public Renderer (); #if !HAS_MUTTER47 @@ -573,20 +613,29 @@ namespace Cogl { public bool check_onscreen_template (Cogl.OnscreenTemplate onscreen_template) throws GLib.Error; #endif public bool connect () throws GLib.Error; - public static uint32 error_quark (); #if !HAS_MUTTER47 public void foreach_output (Cogl.OutputCallback callback); #endif +#if HAS_MUTTER48 + public Cogl.DriverId get_driver_id (); + public uint64 get_implicit_drm_modifier (); +#else public Cogl.Driver get_driver (); +#endif #if HAS_MUTTER47 public void* get_proc_address (string name); #endif public Cogl.WinsysID get_winsys_id (); public bool is_dma_buf_supported (); +#if HAS_MUTTER48 + public bool is_implicit_drm_modifier (uint64 modifier); +#endif #if !HAS_MUTTER47 public void remove_constraint (Cogl.RendererConstraint constraint); #endif +#if !HAS_MUTTER48 public void set_driver (Cogl.Driver driver); +#endif #if !HAS_MUTTER47 public void set_winsys_id (Cogl.WinsysID winsys_id); #endif @@ -594,18 +643,24 @@ namespace Cogl { [CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_scanout_get_type ()")] public sealed class Scanout : GLib.Object { [CCode (has_construct_function = false)] +#if HAS_MUTTER48 + public Scanout (Cogl.ScanoutBuffer scanout_buffer, Mtk.Rectangle dst_rect); +#else public Scanout (Cogl.ScanoutBuffer scanout_buffer); +#endif public bool blit_to_framebuffer (Cogl.Framebuffer framebuffer, int x, int y) throws GLib.Error; public unowned Cogl.ScanoutBuffer get_buffer (); - public void get_dst_rect (Mtk.Rectangle rect); + public void get_dst_rect (Mtk.Rectangle dst_rect); public void get_src_rect (Graphene.Rect rect); public void notify_failed (Cogl.Onscreen onscreen); +#if !HAS_MUTTER48 public void set_dst_rect (Mtk.Rectangle rect); +#endif public void set_src_rect (Graphene.Rect rect); public signal void scanout_failed (Cogl.Onscreen object); } [CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_shader_get_type ()")] - public class Shader : GLib.Object { + public sealed class Shader : GLib.Object { [CCode (has_construct_function = false)] #if HAS_MUTTER47 [Version (deprecated = true, deprecated_since = "1.16")] @@ -622,7 +677,7 @@ namespace Cogl { public void source (string source); } [CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_snippet_get_type ()")] - public class Snippet : GLib.Object { + public sealed class Snippet : GLib.Object { [CCode (has_construct_function = false)] public Snippet (Cogl.SnippetHook hook, string? declarations, string? post); public unowned string get_declarations (); @@ -658,8 +713,12 @@ namespace Cogl { [CCode (has_construct_function = false)] protected Texture (); public bool allocate () throws GLib.Error; +#if HAS_MUTTER48 + public void foreach_in_region (float tx_1, float ty_1, float tx_2, float ty_2, Cogl.PipelineWrapMode wrap_s, Cogl.PipelineWrapMode wrap_t, Cogl.TextureForeachCallback callback); +#else [CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_meta_texture_foreach_in_region")] public void foreach_in_region (float tx_1, float ty_1, float tx_2, float ty_2, Cogl.PipelineWrapMode wrap_s, Cogl.PipelineWrapMode wrap_t, Cogl.MetaTextureCallback callback); +#endif public Cogl.TextureComponents get_components (); #if HAS_MUTTER47 public unowned Cogl.Context get_context (); @@ -670,7 +729,9 @@ namespace Cogl { #endif public bool get_gl_texture (out uint out_gl_handle, out uint out_gl_target); public uint get_height (); +#if !HAS_MUTTER48 public int get_max_waste (); +#endif public bool get_premultiplied (); public uint get_width (); public bool is_get_data_supported (); @@ -901,7 +962,11 @@ namespace Cogl { DISABLE_MIGRATION } #endif +#if HAS_MUTTER48 + [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_ATTRIBUTE_TYPE_", type_id = "cogl_attribute_type_get_type ()")] +#else [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_ATTRIBUTE_TYPE_", has_type_id = false)] +#endif public enum AttributeType { BYTE, UNSIGNED_BYTE, @@ -924,7 +989,11 @@ namespace Cogl { INDEX_BUFFER, COUNT } +#if HAS_MUTTER48 + [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_BUFFER_BIT_", type_id = "cogl_buffer_bit_get_type ()")] +#else [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_BUFFER_BIT_", has_type_id = false)] +#endif [Flags] public enum BufferBit { COLOR, @@ -957,7 +1026,11 @@ namespace Cogl { DYNAMIC, STREAM } +#if HAS_MUTTER48 + [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_DEPTH_TEST_FUNCTION_", type_id = "cogl_depth_test_function_get_type ()")] +#else [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_DEPTH_TEST_FUNCTION_", has_type_id = false)] +#endif public enum DepthTestFunction { NEVER, LESS, @@ -968,13 +1041,27 @@ namespace Cogl { GEQUAL, ALWAYS } +#if HAS_MUTTER48 + [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_DRIVER_ID_", has_type_id = false)] + public enum DriverId { +#else [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_DRIVER_", has_type_id = false)] public enum Driver { +#endif ANY, NOP, GL3, GLES2 } +#if HAS_MUTTER48 + [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_DRM_MODIFIER_FILTER_", has_type_id = false)] + [Flags] + public enum DrmModifierFilter { + NONE, + SINGLE_PLANE, + NOT_EXTERNAL_ONLY + } +#endif [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_EGL_IMAGE_FLAG_", has_type_id = false)] [Flags] public enum EglImageFlags { @@ -1012,7 +1099,11 @@ namespace Cogl { [CCode (cname = "COGL_FEATURE_ID_TIMESTAMP_QUERY")] OGL_FEATURE_ID_TIMESTAMP_QUERY } +#if HAS_MUTTER48 + [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_FILTER_", type_id = "cogl_filter_return_get_type ()")] +#else [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_FILTER_", has_type_id = false)] +#endif public enum FilterReturn { CONTINUE, REMOVE @@ -1030,7 +1121,11 @@ namespace Cogl { UNKNOWN_CONTEXT_RESET, PURGED_CONTEXT_RESET } +#if HAS_MUTTER48 + [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_INDICES_TYPE_UNSIGNED_", type_id = "cogl_indices_type_get_type ()")] +#else [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_INDICES_TYPE_UNSIGNED_", has_type_id = false)] +#endif public enum IndicesType { BYTE, SHORT, @@ -1144,11 +1239,15 @@ namespace Cogl { NVAL } #endif +#if HAS_MUTTER48 + [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_READ_PIXELS_COLOR_", type_id = "cogl_read_pixels_flags_get_type ()")] +#else [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_READ_PIXELS_COLOR_", has_type_id = false)] +#endif [Flags] public enum ReadPixelsFlags { [CCode (cname = "COGL_READ_PIXELS_COLOR_BUFFER")] - READ_PIXELS_COLOR_BUFFER + COLOR_BUFFER } #if !HAS_MUTTER47 [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_RENDERER_CONSTRAINT_USES_", has_type_id = false)] @@ -1159,7 +1258,11 @@ namespace Cogl { EGL } #endif +#if HAS_MUTTER48 + [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SHADER_TYPE_", type_id = "cogl_shader_type_get_type ()")] +#else [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SHADER_TYPE_", has_type_id = false)] +#endif public enum ShaderType { VERTEX, FRAGMENT @@ -1201,7 +1304,11 @@ namespace Cogl { RGBA, DEPTH } +#if HAS_MUTTER48 + [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_VERTICES_MODE_", type_id = "cogl_vertices_mode_get_type ()")] +#else [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_VERTICES_MODE_", has_type_id = false)] +#endif public enum VerticesMode { POINTS, LINES, @@ -1211,12 +1318,20 @@ namespace Cogl { TRIANGLE_STRIP, TRIANGLE_FAN } +#if HAS_MUTTER48 + [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_WINDING_", type_id = "cogl_winding_get_type ()")] +#else [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_WINDING_", has_type_id = false)] +#endif public enum Winding { CLOCKWISE, COUNTER_CLOCKWISE } +#if HAS_MUTTER48 + [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_WINSYS_FEATURE_", type_id = "cogl_winsys_feature_get_type ()")] +#else [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_WINSYS_FEATURE_", has_type_id = false)] +#endif public enum WinsysFeature { VBLANK_COUNTER, VBLANK_WAIT, @@ -1260,18 +1375,29 @@ namespace Cogl { [CCode (cname = "COGL_FRAMEBUFFER_ERROR_ALLOCATE")] FRAMEBUFFER_ERROR_ALLOCATE } +#if HAS_MUTTER48 + [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_RENDERER_ERROR_", type_id = "cogl_renderer_error_get_type ()")] +#else [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_RENDERER_ERROR_", has_type_id = false)] +#endif public errordomain RendererError { XLIB_DISPLAY_OPEN, BAD_CONSTRAINT } +#if HAS_MUTTER48 + [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SCANOUT_ERROR_", type_id = "cogl_scanout_error_get_type ()")] +#else [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SCANOUT_ERROR_", has_type_id = false)] +#endif public errordomain ScanoutError { - [CCode (cname = "COGL_SCANOUT_ERROR_INHIBITED")] - SCANOUT_ERROR_INHIBITED; + INHIBITED; public static GLib.Quark quark (); } +#if HAS_MUTTER48 + [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SYSTEM_ERROR_", type_id = "cogl_system_error_get_type ()")] +#else [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SYSTEM_ERROR_", has_type_id = false)] +#endif public errordomain SystemError { UNSUPPORTED, NO_MEMORY @@ -1296,8 +1422,10 @@ namespace Cogl { #endif [CCode (cheader_filename = "cogl/cogl.h", instance_pos = 3.9)] public delegate void FrameCallback (Cogl.Onscreen onscreen, Cogl.FrameEvent event, Cogl.FrameInfo info); +#if !HAS_MUTTER48 [CCode (cheader_filename = "cogl/cogl.h", instance_pos = 3.9)] public delegate void MetaTextureCallback (Cogl.Texture sub_texture, float sub_texture_coords, float meta_coords); +#endif #if !HAS_MUTTER47 [CCode (cheader_filename = "cogl/cogl.h", instance_pos = 2.9)] public delegate void OnscreenDirtyCallback (Cogl.Onscreen onscreen, Cogl.OnscreenDirtyInfo info); @@ -1309,6 +1437,10 @@ namespace Cogl { #if !HAS_MUTTER47 [CCode (cheader_filename = "cogl/cogl.h", instance_pos = 2.9)] public delegate bool PrimitiveAttributeCallback (Cogl.Primitive primitive, Cogl.Attribute attribute); +#endif +#if HAS_MUTTER48 + [CCode (cheader_filename = "cogl/cogl.h", instance_pos = 3.9)] + public delegate void TextureForeachCallback (Cogl.Texture sub_texture, float sub_texture_coords, float meta_coords); #endif [CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_TEXTURE_MAX_WASTE")] public const int TEXTURE_MAX_WASTE; @@ -1319,12 +1451,14 @@ namespace Cogl { [CCode (cheader_filename = "cogl/cogl.h")] [Version (replacement = "Color.init_from_hsl")] public static void color_init_from_hsl (out Cogl.Color color, float hue, float saturation, float luminance); +#if !HAS_MUTTER48 [CCode (cheader_filename = "cogl/cogl.h")] public static void debug_matrix_entry_print (Cogl.MatrixEntry entry); [CCode (cheader_filename = "cogl/cogl.h")] public static void flush (); [CCode (cheader_filename = "cogl/cogl.h")] public static unowned Cogl.Indices get_rectangle_indices (Cogl.Context context, int n_rectangles); +#endif #if HAS_MUTTER47 [CCode (cheader_filename = "cogl/cogl.h")] public static GLib.Source glib_source_new (Cogl.Renderer renderer, int priority); @@ -1335,7 +1469,11 @@ namespace Cogl { public static GLib.Source glib_source_new (Cogl.Context context, int priority); #endif [CCode (cheader_filename = "cogl/cogl.h")] +#if HAS_MUTTER48 + public static void graphene_matrix_project_points_f3 (Graphene.Matrix matrix, size_t stride_in, void* points_in, size_t stride_out, void* points_out, int n_points); +#else public static void graphene_matrix_project_point (Graphene.Matrix matrix, ref float x, ref float y, ref float z, ref float w); +#endif [CCode (cheader_filename = "cogl/cogl.h")] public static void graphene_matrix_project_points (Graphene.Matrix matrix, int n_components, size_t stride_in, void* points_in, size_t stride_out, void* points_out, int n_points); [CCode (cheader_filename = "cogl/cogl.h")] diff --git a/vapi/mutter-cogl-16.deps b/vapi/mutter-cogl-16.deps new file mode 100644 index 000000000..fd4bf15b6 --- /dev/null +++ b/vapi/mutter-cogl-16.deps @@ -0,0 +1,5 @@ +pango +glib-2.0 +gio-2.0 +mutter-mtk-16 +x11 diff --git a/vapi/mutter-cogl-16.vapi b/vapi/mutter-cogl-16.vapi new file mode 120000 index 000000000..f409fd824 --- /dev/null +++ b/vapi/mutter-cogl-16.vapi @@ -0,0 +1 @@ +mutter-cogl-15.vapi \ No newline at end of file diff --git a/vapi/mutter-mtk-13.vapi b/vapi/mutter-mtk-13.vapi index 7d51487f7..528605b52 100644 --- a/vapi/mutter-mtk-13.vapi +++ b/vapi/mutter-mtk-13.vapi @@ -15,6 +15,9 @@ namespace Mtk { public static Mtk.Region create_rectangles (Mtk.Rectangle rects, int n_rects); public Mtk.Region crop_and_scale (Graphene.Rect src_rect, int dst_width, int dst_height); public bool equal (Mtk.Region other); +#if HAS_MUTTER48 + public void get_box (int nth, int x1, int y1, int x2, int y2); +#endif public Mtk.Rectangle? get_extents (); public Mtk.Rectangle? get_rectangle (int nth); public void intersect (Mtk.Region other); @@ -44,6 +47,10 @@ namespace Mtk { [CCode (has_construct_function = false, type = "MtkRectangle*")] public Rectangle (int x, int y, int width, int height); public int area (); +#if HAS_MUTTER48 + public bool contains_point (int x, int y); + public bool contains_pointf (float x, float y); +#endif public bool contains_rect (Mtk.Rectangle inner_rect); public Mtk.Rectangle? copy (); public bool could_fit_rect (Mtk.Rectangle inner_rect); @@ -107,7 +114,13 @@ namespace Mtk { FLIPPED_90, FLIPPED_180, FLIPPED_270; +#if HAS_MUTTER48 + public static Mtk.MonitorTransform from_string (string name); +#endif public Mtk.MonitorTransform invert (); +#if HAS_MUTTER48 + public unowned string to_string (); +#endif public Mtk.MonitorTransform transform (Mtk.MonitorTransform other); public void transform_matrix (Graphene.Matrix matrix); public void transform_point (int area_width, int area_height, int point_x, int point_y); @@ -128,6 +141,10 @@ namespace Mtk { GROW, ROUND } +#if HAS_MUTTER48 + [CCode (cheader_filename = "mtk/mtk.h")] + public static void compute_viewport_matrix (Graphene.Matrix matrix, int width, int height, float scale, Mtk.MonitorTransform transform, Graphene.Rect src_rect); +#endif [CCode (cheader_filename = "mtk/mtk.h")] [Version (replacement = "Rectangle.from_graphene_rect")] public static Mtk.Rectangle rectangle_from_graphene_rect (Graphene.Rect rect, Mtk.RoundingStrategy rounding_strategy); diff --git a/vapi/mutter-mtk-16.vapi b/vapi/mutter-mtk-16.vapi new file mode 120000 index 000000000..7df39ac72 --- /dev/null +++ b/vapi/mutter-mtk-16.vapi @@ -0,0 +1 @@ +mutter-mtk-15.vapi \ No newline at end of file