diff --git a/meson.build b/meson.build index 2f8657bd..92deeb02 100644 --- a/meson.build +++ b/meson.build @@ -96,6 +96,7 @@ granite_dep = dependency('granite', version: '>= 5.4.0') gnome_desktop_dep = dependency('gnome-desktop-3.0') gsd_dep = dependency('gnome-settings-daemon', version: '>= @0@'.format(gsd_version_required)) m_dep = cc.find_library('m', required: false) +posix_dep = vala.find_library('posix', required: false) gexiv2_dep = dependency('gexiv2') mutter_dep = [] @@ -137,11 +138,22 @@ if mutter40_dep.found() dependency('mutter-cogl-8'), dependency('mutter-cogl-pango-8'), dependency('mutter-clutter-8') ] - vala_flags = ['--define', 'HAS_MUTTER330', '--define', 'HAS_MUTTER332', '--define', 'HAS_MUTTER334', '--define', 'HAS_MUTTER336', '--define', 'HAS_MUTTER338', '--define', 'HAS_MUTTER40'] + vala_flags = ['--define', 'HAS_MUTTER338', '--define', 'HAS_MUTTER40'] add_project_arguments(['-DCLUTTER_ENABLE_COMPOSITOR_API', '-DCLUTTER_ENABLE_EXPERIMENTAL_API', '-DCOGL_ENABLE_EXPERIMENTAL_API', '-DCOGL_ENABLE_EXPERIMENTAL_2_0_API'], language: 'c') endif +mutter41_dep = dependency('libmutter-9', version: ['>= 41', '< 42'], required: false) +if mutter41_dep.found() + libmutter_dep = dependency('libmutter-9', version: '>= 41') + mutter_dep = [ + libmutter_dep, + dependency('mutter-cogl-9'), dependency('mutter-cogl-pango-9'), + dependency('mutter-clutter-9') + ] + vala_flags = ['--define', 'HAS_MUTTER338', '--define', 'HAS_MUTTER40', '--define', 'HAS_MUTTER41'] +endif + if mutter_dep.length() == 0 error ('No supported mutter library found!') endif @@ -151,7 +163,7 @@ mutter_typelib_dir = libmutter_dep.get_pkgconfig_variable('typelibdir') add_project_arguments(vala_flags, language: 'vala') add_project_link_arguments(['-Wl,-rpath,@0@'.format(mutter_typelib_dir)], language: 'c') -gala_base_dep = [canberra_dep, glib_dep, gobject_dep, gio_dep, gmodule_dep, gee_dep, gtk_dep, plank_dep, mutter_dep, granite_dep, gnome_desktop_dep, m_dep, gexiv2_dep, config_dep] +gala_base_dep = [canberra_dep, glib_dep, gobject_dep, gio_dep, gmodule_dep, gee_dep, gtk_dep, plank_dep, mutter_dep, granite_dep, gnome_desktop_dep, m_dep, posix_dep, gexiv2_dep, config_dep] subdir('data') subdir('lib') diff --git a/src/Background/Background.vala b/src/Background/Background.vala index ae5612cf..04f588cf 100644 --- a/src/Background/Background.vala +++ b/src/Background/Background.vala @@ -94,10 +94,12 @@ namespace Gala { var settings = background_source.settings; color_string = settings.get_string ("primary-color"); - var color = Clutter.Color.from_string (color_string); + var color = Clutter.Color (); + color.from_string (color_string); color_string = settings.get_string ("secondary-color"); - var second_color = Clutter.Color.from_string (color_string); + var second_color = Clutter.Color (); + second_color.from_string (color_string); var shading_type = settings.get_enum ("color-shading-type"); diff --git a/src/Main.vala b/src/Main.vala index 85c9008b..474d917c 100644 --- a/src/Main.vala +++ b/src/Main.vala @@ -32,6 +32,18 @@ namespace Gala { GLib.Intl.bind_textdomain_codeset (Config.GETTEXT_PACKAGE, "UTF-8"); GLib.Intl.textdomain (Config.GETTEXT_PACKAGE); +#if HAS_MUTTER41 + var ctx = new Meta.Context ("Mutter(Gala)"); + ctx.add_option_entries (Gala.OPTIONS, Config.GETTEXT_PACKAGE); + try { + ctx.configure (ref args); + } catch (Error e) { + stderr.printf ("Error initializing: %s\n", e.message); + return Posix.EXIT_FAILURE; + } + + ctx.set_plugin_gtype (typeof (WindowManagerGala)); +#else unowned OptionContext ctx = Meta.get_option_context (); ctx.add_main_entries (Gala.OPTIONS, null); try { @@ -44,7 +56,16 @@ namespace Gala { Meta.Plugin.manager_set_plugin_type (typeof (WindowManagerGala)); Meta.Util.set_wm_name ("Mutter(Gala)"); +#endif +#if HAS_MUTTER41 + try { + ctx.setup (); + } catch (Error e) { + stderr.printf ("Failed to setup: %s\n", e.message); + return Posix.EXIT_FAILURE; + } +#else /** * Prevent Meta.init () from causing gtk to load gail and at-bridge * Taken from Gnome-Shell main.c @@ -54,13 +75,32 @@ namespace Gala { Meta.init (); GLib.Environment.unset_variable ("NO_GAIL"); GLib.Environment.unset_variable ("NO_AT_BRIDGE"); +#endif Plank.Paths.initialize ("plank", Config.DATADIR + "/plank"); // Force initialization of static fields in Utils class - // https://bugzilla.gnome.org/show_bug.cgi?id=543189 + // https://gitlab.gnome.org/GNOME/vala/-/issues/11 typeof (Gala.Utils).class_ref (); +#if HAS_MUTTER41 + try { + ctx.start (); + } catch (Error e) { + stderr.printf ("Failed to start: %s\n", e.message); + return Posix.EXIT_FAILURE; + } + + try { + ctx.run_main_loop (); + } catch (Error e) { + stderr.printf ("Gala terminated with a failure: %s\n", e.message); + return Posix.EXIT_FAILURE; + } + + return Posix.EXIT_SUCCESS; +#else return Meta.run (); +#endif } } diff --git a/src/Widgets/ScreenShield.vala b/src/Widgets/ScreenShield.vala index 05e55aad..334d20da 100644 --- a/src/Widgets/ScreenShield.vala +++ b/src/Widgets/ScreenShield.vala @@ -132,7 +132,7 @@ namespace Gala { on_user_became_active (); }); - background_color = Clutter.Color.from_string ("black"); + background_color.from_string ("black"); expand_to_screen_size (); diff --git a/src/Widgets/Tooltip.vala b/src/Widgets/Tooltip.vala index 90175694..9a5d74a7 100644 --- a/src/Widgets/Tooltip.vala +++ b/src/Widgets/Tooltip.vala @@ -68,7 +68,7 @@ public class Gala.Tooltip : Clutter.Actor { padding = tooltip_style_context.get_padding (Gtk.StateFlags.NORMAL); - text_color = Clutter.Color.from_string ("#ffffff"); + text_color.from_string ("#ffffff"); } construct { diff --git a/src/WindowManager.vala b/src/WindowManager.vala index 4c860ae4..449277d7 100644 --- a/src/WindowManager.vala +++ b/src/WindowManager.vala @@ -185,7 +185,7 @@ namespace Gala { stage = display.get_stage () as Clutter.Stage; var background_settings = new GLib.Settings ("org.gnome.desktop.background"); var color = background_settings.get_string ("primary-color"); - stage.background_color = Clutter.Color.from_string (color); + stage.background_color.from_string (color); Meta.Util.later_add (Meta.LaterType.BEFORE_REDRAW, () => { WorkspaceManager.init (this); @@ -348,12 +348,15 @@ namespace Gala { stage.show (); - // let the session manager move to the next phase - Meta.register_with_session (); - Idle.add (() => { + // let the session manager move to the next phase +#if HAS_MUTTER41 + display.get_context ().notify_ready (); +#else + Meta.register_with_session (); +#endif plugin_manager.load_waiting_plugins (); - return false; + return GLib.Source.REMOVE; }); return false; diff --git a/vapi/Clutter-9-custom.vala b/vapi/Clutter-9-custom.vala new file mode 100644 index 00000000..abc9b22d --- /dev/null +++ b/vapi/Clutter-9-custom.vala @@ -0,0 +1,30 @@ +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-9.metadata b/vapi/Clutter-9.metadata new file mode 100644 index 00000000..7955ad82 --- /dev/null +++ b/vapi/Clutter-9.metadata @@ -0,0 +1,187 @@ +// Non mini-object +ActorBox struct +Color struct +Knot struct +Margin struct +PaintVolume struct +PathNode struct +Perspective struct +Units struct + +*.ref unowned + +init.argv unowned +Actor + .apply_transform.matrix ref + .get_abs_allocation_vertices.verts out=false +Canvas + .new symbol_type="constructor" +Event.type#method name="get_type" +Image + .new symbol_type="constructor" + +// ??? +Actor.has_pointer#method name="get_has_pointer" +InitError errordomain=false +ScriptError errordomain +ImageError errordomain + +// Not all backing symbols are deprecated +Actor.pick deprecated=false + +// Nullable return values +Actor + .get_parent nullable +value_get_color nullable + +// 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 +Container + .add_actor skip=false + .class_* skip +Text + .activate#method name="try_activate" + .insert_text#signal skip +TextBuffer.get_text#virtual_method name="get_text_with_length" + +// virtual/abstract distinction +Container + .lower virtual + .raise virtual + .*_child_meta#virtual_method virtual + +// Default values +Container + .lower.sibling nullable default=null + .raise.sibling nullable default=null +Stage.read_pixels + .width default=-1 + .height default=-1 +Stage.paint_to_buffer + .data type="uint8[]" +Text + .position_to_coords.line_height default=null + +// Reparented funcs methods can't be instance methods +feature_available skip +feature_get_all skip + +// Skipped by g-i for unknown reasons +LayoutManager + .create_child_meta skip=false + +// Variadic arguments +Backend + .get_cogl_context skip=false +Container + .child_get skip=false + .child_set skip=false + .remove 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 +Script + .get_objects skip=false + +// Skipped upstream for unknown reasons +Interval.register_progress_func skip=false +get_option_group skip=false +get_option_group_without_init skip=false +threads_add_idle skip=false +threads_add_idle_full skip=false +threads_add_timeout skip=false +threads_add_timeout_full skip=false + +// struct/class confusion +ActorBox + .new skip + .from_vertices skip +Units.from_* skip +Color + .new skip +Margin + .new skip + +// Class methods +container_class_find_child_property skip +container_class_list_child_properties skip + +// Move symbols +color_from_* skip +units_from_* skip + +// Struct return values +color_get_static nullable + +// Upstream +Event + .get_position.position out + +FrameListenerIface skip +FrameClock.new skip + +// Remove for clutter-2.0 +///////////////////////// + +StageView.layout skip + +Stage + .event name="emit_event" + .paint_view.redraw_clip type="Cairo.Region" + +Capture + .image type="Cairo.ImageSurface" + +// *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" +ScrollEvent struct=false base_type="Clutter.Event" +TouchEvent struct=false base_type="Clutter.Event" +TouchpadPinchEvent struct=false base_type="Clutter.Event" +TouchpadSwipeEvent struct=false base_type="Clutter.Event" +ProximityEvent 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" + +// Keysyms used to be CLUTTER_X instead of CLUTTER_KEY_X +*#constant skip +COGL skip=false +CURRENT_TIME skip=false +FLAVOUR skip=false +PATH_RELATIVE 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" +threads_add_idle name="add" parent="Clutter.Threads.Idle" +threads_add_idle_full name="add_full" parent="Clutter.Threads.Idle" +threads_add_timeout name="add" parent="Clutter.Threads.Timeout" +threads_add_timeout_full name="add_full" parent="Clutter.Threads.Timeout" + +// Backwards compatibility +Color.alloc symbol_type="function" + +BinAlignment deprecated=false deprecated_since=null +BinAlignment.* deprecated +BinAlignment.start deprecated=false +BinLayout.new.*_align default=Clutter.BinAlignment.START + +// Possibly keep +KEY_* skip=false name="KEY_(.+)" type="uint" parent="Clutter.Key" diff --git a/vapi/Cogl-9-custom.vala b/vapi/Cogl-9-custom.vala new file mode 100644 index 00000000..66c60cab --- /dev/null +++ b/vapi/Cogl-9-custom.vala @@ -0,0 +1,146 @@ +namespace Cogl { + [Compact] + [CCode (cname = "CoglHandle", cheader_filename = "cogl/cogl.h", type_id = "cogl_handle_get_gtype ()", ref_function = "cogl_object_ref", unref_function = "cogl_object_unref")] + public class Shader : Cogl.Handle { + } + + [CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_primitive_get_gtype ()")] + public class Primitive : Cogl.Object { + [CCode (has_construct_function = false)] + protected Primitive (); + [Version (since = "1.10")] + public Cogl.Primitive copy (); + [Version (since = "1.16")] + public void draw (Cogl.Framebuffer framebuffer, Cogl.Pipeline pipeline); + public int get_first_vertex (); + public Cogl.VerticesMode get_mode (); + [Version (since = "1.8")] + public int get_n_vertices (); + [CCode (has_construct_function = false)] + [Version (since = "1.6")] + public Primitive.p2 (Cogl.Context context, Cogl.VerticesMode mode, [CCode (array_length_cname = "n_vertices", array_length_pos = 2.5)] Cogl.VertexP2[] data); + [CCode (has_construct_function = false)] + [Version (since = "1.6")] + public Primitive.p2c4 (Cogl.Context context, Cogl.VerticesMode mode, [CCode (array_length_cname = "n_vertices", array_length_pos = 2.5)] Cogl.VertexP2C4[] data); + [CCode (has_construct_function = false)] + [Version (since = "1.6")] + public Primitive.p2t2 (Cogl.Context context, Cogl.VerticesMode mode, [CCode (array_length_cname = "n_vertices", array_length_pos = 2.5)] Cogl.VertexP2T2[] data); + [CCode (has_construct_function = false)] + [Version (since = "1.6")] + public Primitive.p2t2c4 (Cogl.Context context, Cogl.VerticesMode mode, [CCode (array_length_cname = "n_vertices", array_length_pos = 2.5)] Cogl.VertexP2T2C4[] data); + [CCode (has_construct_function = false)] + [Version (since = "1.6")] + public Primitive.p3 (Cogl.Context context, Cogl.VerticesMode mode, [CCode (array_length_cname = "n_vertices", array_length_pos = 2.5)] Cogl.VertexP3[] data); + [CCode (has_construct_function = false)] + [Version (since = "1.6")] + public Primitive.p3c4 (Cogl.Context context, Cogl.VerticesMode mode, [CCode (array_length_cname = "n_vertices", array_length_pos = 2.5)] Cogl.VertexP3C4[] data); + [CCode (has_construct_function = false)] + [Version (since = "1.6")] + public Primitive.p3t2 (Cogl.Context context, Cogl.VerticesMode mode, [CCode (array_length_cname = "n_vertices", array_length_pos = 2.5)] Cogl.VertexP3T2[] data); + [CCode (has_construct_function = false)] + [Version (since = "1.6")] + public Primitive.p3t2c4 (Cogl.Context context, Cogl.VerticesMode mode, [CCode (array_length_cname = "n_vertices", array_length_pos = 2.5)] Cogl.VertexP3T2C4[] data); + public void set_first_vertex (int first_vertex); + public void set_mode (Cogl.VerticesMode mode); + [Version (since = "1.8")] + public void set_n_vertices (int n_vertices); + } + + [Compact] + [CCode (cname = "CoglHandle", cheader_filename = "cogl/cogl.h", type_id = "cogl_handle_get_gtype ()", ref_function = "cogl_object_ref", unref_function = "cogl_object_unref")] + public class Program : Cogl.Handle { + } + + [Compact] + [CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_handle_get_gtype ()", ref_function = "cogl_object_ref", unref_function = "cogl_object_unref")] + public class Handle { + [CCode (cheader_filename = "cogl/cogl.h", cname="cogl_is_material")] + [Version (deprecated = true, deprecated_since = "1.16")] + public bool is_material (); + [CCode (cheader_filename = "cogl/cogl.h", cname="cogl_is_program")] + [Version (deprecated = true, deprecated_since = "1.16")] + public bool is_program (Cogl.Handle handle); + [CCode (cheader_filename = "cogl/cogl.h", cname="cogl_is_shader")] + [Version (deprecated = true, deprecated_since = "1.16")] + public bool is_shader (); + [CCode (cheader_filename = "cogl/cogl.h", cname="cogl_is_texture")] + public bool is_texture (); + } + + [CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)] + [Version (since = "1.6")] + public struct VertexP2 { + public float x; + public float y; + } + [CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)] + [Version (since = "1.6")] + 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)] + [Version (since = "1.6")] + 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)] + [Version (since = "1.6")] + 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)] + [Version (since = "1.6")] + public struct VertexP3 { + public float x; + public float y; + public float z; + } + [CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)] + [Version (since = "1.6")] + public struct VertexP3C4 { + public float x; + public float y; + public float z; + public uint8 r; + public uint8 g; + public uint8 b; + public uint8 a; + } + [CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)] + [Version (since = "1.6")] + public struct VertexP3T2 { + public float x; + public float y; + public float z; + public float s; + public float t; + } + [CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)] + [Version (since = "1.6")] + public struct VertexP3T2C4 { + public float x; + public float y; + public float z; + public float s; + public float t; + public uint8 r; + public uint8 g; + public uint8 b; + public uint8 a; + } +} diff --git a/vapi/Cogl-9.metadata b/vapi/Cogl-9.metadata new file mode 100644 index 00000000..00a00cd3 --- /dev/null +++ b/vapi/Cogl-9.metadata @@ -0,0 +1,70 @@ +* cheader_filename="cogl/cogl.h" + +Color struct + +Material base_type="Cogl.Handle" +MaterialLayer base_type="Cogl.Handle" + +_ColorSizeCheck skip +_TextureVertexSizeCheck skip + +Color.equal symbol_type=method + .v1 type="Cogl.Color" + .v2 type="Cogl.Color" + +color_equal.v1 type="Cogl.Color" +color_equal.v2 type="Cogl.Color" +color_equal symbol_type=method + +texture_new_* name="texture_new_(.+)" parent="Cogl.Texture" +Texture + .get_data.data type="uint8[]" + .new_from_data.data type="uint8[]" + .set_data.data type="uint8[]" + .set_region.data type="uint8[]" + +Texture2D + .new_from_data skip=false + .new_from_data.data array=true + +shader_* name="shader_(.+)" parent="Cogl.Shader" +shader_* symbol_type="method" instance_idx=0 + +program_* name="program_(.+)" parent="Cogl.Program" +program_attach_shader symbol_type="method" instance_idx=0 +program_get_uniform_location symbol_type="method" instance_idx=0 +program_link symbol_type="method" instance_idx=0 +program_set_uniform_1f symbol_type="method" instance_idx=0 +program_set_uniform_1i symbol_type="method" instance_idx=0 +program_set_uniform_float symbol_type="method" instance_idx=0 +program_set_uniform_int symbol_type="method" instance_idx=0 +program_set_uniform_matrix symbol_type="method" instance_idx=0 + +is_bitmap parent="Cogl.Object" symbol_type="method" instance_idx=0 +is_program parent="Cogl.Handle" +is_shader parent="Cogl.Handle" +is_texture parent="Cogl.Object" symbol_type="method" instance_idx=0 +is_context parent="Cogl.Object" symbol_type="method" instance_idx=0 +is_framebuffer parent="Cogl.Object" symbol_type="method" instance_idx=0 +is_frame_info parent="Cogl.Object" symbol_type="method" instance_idx=0 +is_pipeline parent="Cogl.Object" symbol_type="method" instance_idx=0 +is_texture_2d parent="Cogl.Object" symbol_type="method" instance_idx=0 +is_texture_2d_sliced parent="Cogl.Object" symbol_type="method" instance_idx=0 + +create_program type="unowned Cogl.Program" name="create" parent="Cogl.Program" +create_shader type="unowned Cogl.Shader" name="create" parent="Cogl.Shader" + +foreach_feature parent="Cogl.Context" symbol_type="method" instance_idx=0 +get_graphics_reset_status parent="Cogl.Context" symbol_type="method" instance_idx=0 +has_feature parent="Cogl.Context" symbol_type="method" instance_idx=0 + +Bitmap.error_quark parent="Cogl.BitmapError" name="quark" +Texture.error_quark parent="Cogl.TextureError" name="quark" +texture_error_quark skip + +BitmapError errordomain +BlendStringError errordomain +RendererError errordomain +SystemError errordomain +TextureError errordomain +FramebufferError errordomain diff --git a/vapi/Meta-9.metadata b/vapi/Meta-9.metadata new file mode 100644 index 00000000..113d4a08 --- /dev/null +++ b/vapi/Meta-9.metadata @@ -0,0 +1,182 @@ +* skip=false +*.* skip=false +* cheader_filename="meta/main.h" + +Backend cheader_filename="meta/meta-backend.h" +Backend.gpu_added skip +get_backend parent="Meta.Backend" cheader_filename="meta/meta-backend.h" +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" +ButtonFunction cheader_filename="meta/common.h" +ButtonLayout cheader_filename="meta/common.h" +Compositor cheader_filename="meta/compositor.h" +Compositor.sync_stack.stack type_arguments="Meta.Window" +get_feedback_group_for_display parent="Meta.Display" symbol_type="method" name="get_feedback_group" instance_idx=0 cheader_filename="meta/compositor-mutter.h" +get_stage_for_display parent="Meta.Display" symbol_type="method" name="get_stage" instance_idx=0 cheader_filename="meta/compositor-mutter.h" +get_top_window_group_for_display parent="Meta.Display" symbol_type="method" name="get_top_window_group" instance_idx=0 cheader_filename="meta/compositor-mutter.h" +get_window_group_for_display parent="Meta.Display" symbol_type="method" name="get_window_group" instance_idx=0 cheader_filename="meta/compositor-mutter.h" +disable_unredirect_for_display parent="Meta.Display" symbol_type="method" name="disable_unredirect" instance_idx=0 cheader_filename="meta/compositor-mutter.h" +enable_unredirect_for_display parent="Meta.Display" symbol_type="method" name="enable_unredirect" instance_idx=0 cheader_filename="meta/compositor-mutter.h" + +get_window_actors parent="Meta.Display" symbol_type="method" instance_idx=0 cheader_filename="meta/compositor-mutter.h" type_arguments="Meta.WindowActor" +focus_stage_window parent="Meta.Display" symbol_type="method" instance_idx=0 cheader_filename="meta/compositor-mutter.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" +Cursor cheader_filename="meta/common.h" +CursorTracker cheader_filename="meta/meta-cursor-tracker.h" +CursorTracker.get_for_display parent="Meta.Display" symbol_type="method" instance_idx=0 name="get_cursor_tracker" +CursorTracker.get_pointer.mods out +DebugTopic cheader_filename="meta/util.h" +Direction cheader_filename="meta/common.h" +Display cheader_filename="meta/display.h" +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" +Frame cheader_filename="meta/types.h" +FrameBorders cheader_filename="meta/common.h" +FrameFlags cheader_filename="meta/common.h" +FrameType cheader_filename="meta/common.h" +GrabOp cheader_filename="meta/common.h" +Group cheader_filename="meta/group.h" +Group.property_notify.event type="X.Event" ref +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" +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" +LaterType cheader_filename="meta/util.h" +LocaleDirection cheader_filename="meta/util.h" +MaximizeFlags cheader_filename="meta/window.h" +ModalOptions cheader_filename="meta/meta-plugin.h" +MonitorManager cheader_filename="meta/meta-monitor-manager.h" +MonitorSwitchConfigType cheader_filename="meta/meta-monitor-manager.h" +MotionDirection cheader_filename="meta/common.h" +PadActionType cheader_filename="meta/display.h" +Plugin cheader_filename="meta/meta-plugin.h" +Plugin.xevent_filter.event type="X.Event" ref +PluginInfo cheader_filename="meta/meta-plugin.h" +Preference cheader_filename="meta/prefs.h" +PrefsChangedFunc cheader_filename="meta/prefs.h" +Rectangle cheader_filename="meta/boxes.h" struct +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" +Shadow cheader_filename="meta/meta-shadow-factory.h" +ShadowFactory cheader_filename="meta/meta-shadow-factory.h" +ShadowMode cheader_filename="meta/meta-window-actor.h" +ShadowParams cheader_filename="meta/meta-shadow-factory.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" +Stage.is_focused parent="Meta.Display" symbol_type="method" name="stage_is_focused" instance_idx=0 cheader_filename="meta/compositor-mutter.h" +Strut cheader_filename="meta/boxes.h" +TabList cheader_filename="meta/display.h" +TabShowType cheader_filename="meta/display.h" +Theme cheader_filename="meta/theme.h" +theme_get_default cheader_filename="meta/theme.h" +theme_new cheader_filename="meta/theme.h" +VirtualModifier cheader_filename="meta/common.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.icon type="Cairo.Surface" +Window.mini_icon type="Cairo.Surface" +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" +WindowShape cheader_filename="meta/meta-window-shape.h" +WindowType cheader_filename="meta/window.h" +X11Display cheader_filename="meta/meta-x11-display.h" + +rect 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" + +CURRENT_TIME cheader_filename="meta/common.h" +ICON_WIDTH cheader_filename="meta/common.h" +ICON_HEIGHT cheader_filename="meta/common.h" +MINI_ICON_WIDTH cheader_filename="meta/common.h" +MINI_ICON_HEIGHT cheader_filename="meta/common.h" +DEFAULT_ICON_NAME 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" + +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" +get_locale_direction parent="Meta.Util" cheader_filename="meta/util.h" +is_syncing 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" +later_add parent="Meta.Util" cheader_filename="meta/util.h" +later_remove 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" +show_dialog parent="Meta.Util" cheader_filename="meta/util.h" +show_dialog.columns type_arguments="string" nullable default=null +show_dialog.entries type_arguments="string" nullable default=null +show_dialog.transient_for default=0 +show_dialog.icon_name nullable default=null +show_dialog.cancel_text nullable default=null +show_dialog.ok_text nullable default=null +show_dialog.display nullable default=null +show_dialog.timeout nullable default=null +topic_real 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?" +verbose_real parent="Meta.Util" cheader_filename="meta/util.h" +warning parent="Meta.Util" cheader_filename="meta/util.h" +create_context parent="Meta.Context" name="new" symbol_type="constructor" cheader_filename="meta/meta-context.h" + +x11_error_trap_pop parent="Meta.X11Display" symbol_type="method" name="error_trap_pop" instance_idx=0 cheader_filename="meta/meta-x11-errors.h" +x11_error_trap_pop_with_return parent="Meta.X11Display" symbol_type="method" name="error_trap_pop_with_return" instance_idx=0 cheader_filename="meta/meta-x11-errors.h" +x11_error_trap_push parent="Meta.X11Display" symbol_type="method" name="error_trap_push" instance_idx=0 cheader_filename="meta/meta-x11-errors.h" +x11_init_gdk_display parent="Meta.X11Display" cheader_filename="meta/meta-x11-display.h" diff --git a/vapi/libmutter-9.deps b/vapi/libmutter-9.deps new file mode 120000 index 00000000..63a164e2 --- /dev/null +++ b/vapi/libmutter-9.deps @@ -0,0 +1 @@ +libmutter-8.deps \ No newline at end of file diff --git a/vapi/libmutter-9.vapi b/vapi/libmutter-9.vapi new file mode 120000 index 00000000..bcfc610a --- /dev/null +++ b/vapi/libmutter-9.vapi @@ -0,0 +1 @@ +libmutter-8.vapi \ No newline at end of file diff --git a/vapi/libmutter.vapi b/vapi/libmutter.vapi index b9f09b3d..baba792d 100644 --- a/vapi/libmutter.vapi +++ b/vapi/libmutter.vapi @@ -81,8 +81,10 @@ namespace Meta { public static unowned string get_workspace_name (int i); [CCode (cheader_filename = "meta/prefs.h")] public static bool get_workspaces_only_on_primary (); +#if !HAS_MUTTER41 [CCode (cheader_filename = "meta/prefs.h")] public static void init (); +#endif [CCode (cheader_filename = "meta/prefs.h")] public static void remove_listener (Meta.PrefsChangedFunc func); [CCode (cheader_filename = "meta/prefs.h")] @@ -127,10 +129,12 @@ namespace Meta { public static void push_no_msg_prefix (); [CCode (cheader_filename = "meta/util.h", cname = "meta_remove_verbose_topic")] public static void remove_verbose_topic (Meta.DebugTopic topic); +#if !HAS_MUTTER41 [CCode (cheader_filename = "meta/main.h", cname = "meta_set_gnome_wm_keybindings")] public static void set_gnome_wm_keybindings (string wm_keybindings); [CCode (cheader_filename = "meta/main.h", cname = "meta_set_wm_name")] public static void set_wm_name (string wm_name); +#endif [CCode (cheader_filename = "meta/util.h", cname = "meta_show_dialog")] public static GLib.Pid show_dialog (string type, string message, string? timeout = null, string? display = null, string? ok_text = null, string? cancel_text = null, string? icon_name = null, int transient_for = 0, GLib.SList? columns = null, GLib.SList? entries = null); [CCode (cheader_filename = "meta/util.h", cname = "meta_topic_real")] @@ -150,6 +154,10 @@ namespace Meta { protected Backend (); [CCode (cheader_filename = "meta/meta-backend.h", cname = "meta_get_backend")] public static unowned Meta.Backend get_backend (); +#if HAS_MUTTER41 + public unowned Meta.Context get_context (); + public unowned Meta.IdleMonitor get_core_idle_monitor (); +#endif public unowned Meta.Dnd get_dnd (); public unowned Meta.RemoteAccessController get_remote_access_controller (); public unowned Meta.Settings get_settings (); @@ -157,6 +165,9 @@ namespace Meta { public bool is_rendering_hardware_accelerated (); public void lock_layout_group (uint idx); public void set_keymap (string layouts, string variants, string options); +#if HAS_MUTTER41 + public Meta.Context context { get; construct; } +#endif public void set_numlock (bool numlock_state); public signal void keymap_changed (); public signal void keymap_layout_group_changed (uint object); @@ -317,6 +328,32 @@ namespace Meta { [NoAccessorMethod] public Meta.Display display { owned get; construct; } } +#if HAS_MUTTER41 + [CCode (cheader_filename = "meta/meta-context.h", type_id = "meta_context_get_type ()")] + public class Context : GLib.Object { + [CCode (cheader_filename = "meta/meta-context.h", cname = "meta_create_context", has_construct_function = false)] + public Context (string name); + public void add_option_entries ([CCode (array_length = false, array_null_terminated = true)] GLib.OptionEntry[] entries, string? translation_domain); + public void add_option_group (owned GLib.OptionGroup group); + public bool configure ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref unowned string[]? argv) throws GLib.Error; + public void destroy (); + public unowned Meta.Backend get_backend (); + public Meta.CompositorType get_compositor_type (); + public unowned Meta.Display get_display (); + public bool is_replacing (); + public void notify_ready (); + public bool run_main_loop () throws GLib.Error; + public void set_gnome_wm_keybindings (string wm_keybindings); + public void set_plugin_gtype (GLib.Type plugin_gtype); + public void set_plugin_name (string plugin_name); + public bool setup () throws GLib.Error; + public bool start () throws GLib.Error; + public void terminate (); + public void terminate_with_error (GLib.Error error); + [NoAccessorMethod] + public string name { owned get; construct; } + } +#endif [CCode (cheader_filename = "meta/meta-cursor-tracker.h", type_id = "meta_cursor_tracker_get_type ()")] public class CursorTracker : GLib.Object { [CCode (has_construct_function = false)] @@ -363,6 +400,9 @@ namespace Meta { public unowned Meta.Compositor get_compositor (); #if HAS_MUTTER40 public Clutter.ModifierType get_compositor_modifiers (); +#endif +#if HAS_MUTTER41 + public unowned Meta.Context get_context (); #endif public int get_current_monitor (); public uint32 get_current_time (); @@ -481,7 +521,9 @@ namespace Meta { protected IdleMonitor (); public uint add_idle_watch (uint64 interval_msec, owned Meta.IdleMonitorWatchFunc? callback); public uint add_user_active_watch (owned Meta.IdleMonitorWatchFunc? callback); +#if !HAS_MUTTER41 public static unowned Meta.IdleMonitor get_core (); +#endif public int64 get_idletime (); public void remove_watch (uint id); [NoAccessorMethod] @@ -722,6 +764,9 @@ namespace Meta { public int workspace { get; construct; } [HasEmitter] public signal void complete (); +#if HAS_MUTTER41 + public signal void timeout (); +#endif } [CCode (cheader_filename = "meta/theme.h", has_type_id = false)] [Compact] @@ -829,6 +874,9 @@ namespace Meta { public void kill (); public bool located_on_workspace (Meta.Workspace workspace); public void lower (); +#if HAS_MUTTER41 + public void lower_with_transients (uint32 timestamp); +#endif public void make_above (); public void make_fullscreen (); public void maximize (Meta.MaximizeFlags directions); @@ -1148,6 +1196,13 @@ namespace Meta { MINIMIZE, NONE } +#if HAS_MUTTER41 + [CCode (cheader_filename = "meta/main.h", cprefix = "META_COMPOSITOR_TYPE_", type_id = "meta_compositor_type_get_type ()")] + public enum CompositorType { + WAYLAND, + X11 + } +#endif [CCode (cheader_filename = "meta/common.h", cprefix = "META_CURSOR_", type_id = "meta_cursor_get_type ()")] public enum Cursor { NONE, @@ -1690,16 +1745,23 @@ namespace Meta { #endif [CCode (cheader_filename = "meta/main.h")] public static void clutter_init (); +#if HAS_MUTTER41 + [CCode (cheader_filename = "meta/meta-context.h")] + public static Meta.Context create_context (string name); +#endif [CCode (cheader_filename = "meta/main.h")] public static void exit (Meta.ExitCode code); +#if !HAS_MUTTER41 #if HAS_MUTTER40 [CCode (cheader_filename = "meta/main.h")] public static void finalize (); #endif +#endif #if HAS_MUTTER338 [CCode (cheader_filename = "meta/main.h")] public static Meta.DebugPaintFlag get_debug_paint_flags (); #endif +#if !HAS_MUTTER41 #if HAS_MUTTER40 [CCode (cheader_filename = "meta/main.h")] public static Meta.ExitCode get_exit_code (); @@ -1710,16 +1772,19 @@ namespace Meta { public static bool get_replace_current_wm (); [CCode (cheader_filename = "meta/main.h")] public static void init (); +#endif [CCode (cheader_filename = "meta/main.h")] public static bool is_restart (); #if HAS_MUTTER40 [CCode (cheader_filename = "meta/main.h")] public static bool is_topic_enabled (Meta.DebugTopic topic); #endif +#if !HAS_MUTTER41 [CCode (cheader_filename = "meta/main.h")] public static void quit (Meta.ExitCode code); [CCode (cheader_filename = "meta/main.h")] public static void register_with_session (); +#endif #if HAS_MUTTER338 [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); @@ -1728,6 +1793,7 @@ namespace Meta { #endif [CCode (cheader_filename = "meta/main.h")] public static void restart (string? message); +#if !HAS_MUTTER41 [CCode (cheader_filename = "meta/main.h")] public static int run (); #if HAS_MUTTER40 @@ -1738,4 +1804,5 @@ namespace Meta { #endif [CCode (cheader_filename = "meta/main.h")] public static void test_init (); +#endif } diff --git a/vapi/meson.build b/vapi/meson.build index 7444ba7e..3773b0bc 100644 --- a/vapi/meson.build +++ b/vapi/meson.build @@ -217,3 +217,72 @@ if mutter40_dep.found() output: 'libmutter-8.vapi' ) endif +if mutter41_dep.found() + cogl_target = custom_target('mutter-cogl-9', + command: [ + vapigen, + mutter_typelib_dir / 'Cogl-9.gir', + '--library=mutter-cogl-9', + '--pkg=gobject-2.0', + '--pkg=cairo', + '--pkg=graphene-gobject-1.0', + vapigen_args, + files('Cogl-9-custom.vala') + ], + output: 'mutter-cogl-9.vapi' + ) + + cogl_pango_target = custom_target('mutter-cogl-pango-9', + command: [ + vapigen, + mutter_typelib_dir / 'CoglPango-9.gir', + '--library=mutter-cogl-pango-9', + '--pkg=mutter-cogl-9', + '--pkg=pangocairo', + vapigen_args + ], + depends: cogl_target, + output: 'mutter-cogl-pango-9.vapi' + ) + + clutter_target = custom_target('mutter-clutter-9', + command: [ + vapigen, + mutter_typelib_dir / 'Clutter-9.gir', + '--library=mutter-clutter-9', + '--pkg=graphene-gobject-1.0', + '--pkg=mutter-cogl-9', + '--pkg=mutter-cogl-pango-9', + '--pkg=atk', + '--pkg=gio-2.0', + '--pkg=json-glib-1.0', + '--pkg=pangocairo', + vapigen_args, + files('Clutter-9-custom.vala') + ], + depends: [ cogl_target, cogl_pango_target ], + output: 'mutter-clutter-9.vapi' + ) + + libmutter_target = custom_target('libmutter-9', + command: [ + vapigen, + mutter_typelib_dir / 'Meta-9.gir', + '--library=libmutter-9', + '--pkg=graphene-gobject-1.0', + '--pkg=mutter-cogl-9', + '--pkg=mutter-cogl-pango-9', + '--pkg=mutter-clutter-9', + '--pkg=atk', + '--pkg=gio-2.0', + '--pkg=json-glib-1.0', + '--pkg=pangocairo', + '--pkg=gtk+-3.0', + '--pkg=x11', + '--pkg=xfixes-4.0', + vapigen_args + ], + depends: [ cogl_target, cogl_pango_target, clutter_target ], + output: 'libmutter-9.vapi' + ) +endif diff --git a/vapi/mutter-clutter-9.deps b/vapi/mutter-clutter-9.deps new file mode 100644 index 00000000..fffc4803 --- /dev/null +++ b/vapi/mutter-clutter-9.deps @@ -0,0 +1,6 @@ +atk +cairo +pango +json-glib-1.0 +mutter-cogl-9 +graphene-gobject-1.0 diff --git a/vapi/mutter-clutter-9.vapi b/vapi/mutter-clutter-9.vapi new file mode 120000 index 00000000..670687c5 --- /dev/null +++ b/vapi/mutter-clutter-9.vapi @@ -0,0 +1 @@ +mutter-clutter-8.vapi \ No newline at end of file diff --git a/vapi/mutter-clutter.vapi b/vapi/mutter-clutter.vapi index ac9fdb58..c54ca952 100644 --- a/vapi/mutter-clutter.vapi +++ b/vapi/mutter-clutter.vapi @@ -6219,10 +6219,16 @@ namespace Clutter { [CCode (has_construct_function = false)] protected FrameClock (); public void add_timeline (Clutter.Timeline timeline); +#if HAS_MUTTER41 + public GLib.StringBuilder get_max_render_time_debug_info (); +#endif public float get_refresh_rate (); public void inhibit (); #if HAS_MUTTER40 public void notify_ready (); +#endif +#if HAS_MUTTER41 + public void record_flip_time (int64 flip_time_us); #endif public void remove_timeline (Clutter.Timeline timeline); public void schedule_update (); @@ -7503,6 +7509,10 @@ namespace Clutter { public Clutter.Stage stage { owned get; construct; } [NoAccessorMethod] public bool use_shadowfb { get; construct; } +#endif + [NoAccessorMethod] + public int64 vblank_duration_us { get; construct; } +#if HAS_MUTTER41 #endif } #if !HAS_MUTTER338 @@ -7737,6 +7747,15 @@ namespace Clutter { [CCode (has_construct_function = false, type = "ClutterPaintNode*")] public TextNode (Pango.Layout? layout, Clutter.Color? color); } +#if HAS_MUTTER41 + [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_texture_content_get_type ()")] + public class TextureContent : GLib.Object, Clutter.Content { + [CCode (has_construct_function = false)] + protected TextureContent (); + public unowned Cogl.Texture get_texture (); + public static Clutter.Content new_from_texture (Cogl.Texture texture, Cairo.RectangleInt? clip); + } +#endif [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_texture_node_get_type ()")] [Version (since = "1.10")] public class TextureNode : Clutter.PipelineNode { @@ -8168,12 +8187,10 @@ namespace Clutter { public bool equal (Clutter.Color v2); [Version (since = "0.2")] public void free (); - [CCode (cname = "clutter_color_from_hls")] - public Color.from_hls (float hue, float luminance, float saturation); - [CCode (cname = "clutter_color_from_pixel")] - public Color.from_pixel (uint32 pixel); - [CCode (cname = "clutter_color_from_string")] - public Color.from_string (string str); + public void from_hls (float hue, float luminance, float saturation); + public void from_pixel (uint32 pixel); + [Version (since = "1.0")] + public bool from_string (string str); [Version (since = "1.6")] public static unowned Clutter.Color? get_static (Clutter.StaticColor color); [Version (since = "1.0")] @@ -8484,6 +8501,10 @@ namespace Clutter { PICK, EVENTLOOP, CLIPPING, +#if HAS_MUTTER41 + FRAME_TIMINGS, + DETAILED_TRACE, +#endif OOB_TRANSFORMS } [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_DRAG_", type_id = "clutter_drag_axis_get_type ()")] @@ -8504,6 +8525,10 @@ namespace Clutter { DISABLE_OFFSCREEN_REDIRECT, CONTINUOUS_REDRAW, PAINT_DEFORM_TILES, +#if HAS_MUTTER41 + DISABLE_DYNAMIC_MAX_RENDER_TIME, + PAINT_MAX_RENDER_TIME, +#endif PAINT_DAMAGE_REGION } [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_EFFECT_PAINT_", type_id = "clutter_effect_paint_flags_get_type ()")] @@ -9221,6 +9246,10 @@ namespace Clutter { [CCode (cheader_filename = "clutter/clutter.h")] [Version (since = "1.10")] public static bool check_windowing_backend (string backend_type); +#endif +#if HAS_MUTTER41 + [CCode (cheader_filename = "clutter/clutter.h")] + public static void debug_set_max_render_time_constant (int max_render_time_constant_us); #endif [CCode (cheader_filename = "clutter/clutter.h")] [Version (since = "1.14")] @@ -9237,6 +9266,10 @@ namespace Clutter { [CCode (cheader_filename = "clutter/clutter.h")] [Version (since = "1.2")] public static unowned Clutter.Event get_current_event (); +#if HAS_MUTTER41 + [CCode (cheader_filename = "clutter/clutter.h")] + public static void get_debug_flags (Clutter.DebugFlag debug_flags, Clutter.DrawDebugFlag draw_flags, Clutter.PickDebugFlag pick_flags); +#endif [CCode (cheader_filename = "clutter/clutter.h")] [Version (since = "1.0")] public static uint32 get_current_event_time (); @@ -9263,9 +9296,11 @@ namespace Clutter { public static unowned string get_script_id (GLib.Object gobject); [CCode (cheader_filename = "clutter/clutter.h")] public static Clutter.InitError init ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref unowned string[]? argv); +#if !HAS_MUTTER41 [CCode (cheader_filename = "clutter/clutter.h")] [Version (since = "0.2")] public static Clutter.InitError init_with_args ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref unowned string[]? argv, string? parameter_string, [CCode (array_length = false)] GLib.OptionEntry[]? entries, string? translation_domain) throws GLib.Error; +#endif [CCode (cheader_filename = "clutter/clutter.h")] public static uint32 keysym_to_unicode (uint keyval); #if !HAS_MUTTER338 diff --git a/vapi/mutter-cogl-9.deps b/vapi/mutter-cogl-9.deps new file mode 120000 index 00000000..ca61f7f6 --- /dev/null +++ b/vapi/mutter-cogl-9.deps @@ -0,0 +1 @@ +mutter-cogl-8.deps \ No newline at end of file diff --git a/vapi/mutter-cogl-9.vapi b/vapi/mutter-cogl-9.vapi new file mode 120000 index 00000000..b689ff05 --- /dev/null +++ b/vapi/mutter-cogl-9.vapi @@ -0,0 +1 @@ +mutter-cogl-8.vapi \ No newline at end of file diff --git a/vapi/mutter-cogl-pango-9.vapi b/vapi/mutter-cogl-pango-9.vapi new file mode 120000 index 00000000..97a9d6c3 --- /dev/null +++ b/vapi/mutter-cogl-pango-9.vapi @@ -0,0 +1 @@ +mutter-cogl-pango-8.vapi \ No newline at end of file