Add initial support for Mutter 41

This commit is contained in:
Corentin Noël 2021-08-26 14:43:43 +02:00 committed by José Expósito
parent 35468df9cc
commit 9a137bd707
21 changed files with 873 additions and 18 deletions

View File

@ -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')

View File

@ -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");

View File

@ -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
}
}

View File

@ -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 ();

View File

@ -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 {

View File

@ -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;

View File

@ -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 {
}
}

187
vapi/Clutter-9.metadata Normal file
View File

@ -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"

146
vapi/Cogl-9-custom.vala Normal file
View File

@ -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;
}
}

70
vapi/Cogl-9.metadata Normal file
View File

@ -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

182
vapi/Meta-9.metadata Normal file
View File

@ -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"

1
vapi/libmutter-9.deps Symbolic link
View File

@ -0,0 +1 @@
libmutter-8.deps

1
vapi/libmutter-9.vapi Symbolic link
View File

@ -0,0 +1 @@
libmutter-8.vapi

View File

@ -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<string>? columns = null, GLib.SList<string>? 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
}

View File

@ -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

View File

@ -0,0 +1,6 @@
atk
cairo
pango
json-glib-1.0
mutter-cogl-9
graphene-gobject-1.0

1
vapi/mutter-clutter-9.vapi Symbolic link
View File

@ -0,0 +1 @@
mutter-clutter-8.vapi

View File

@ -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

1
vapi/mutter-cogl-9.deps Symbolic link
View File

@ -0,0 +1 @@
mutter-cogl-8.deps

1
vapi/mutter-cogl-9.vapi Symbolic link
View File

@ -0,0 +1 @@
mutter-cogl-8.vapi

View File

@ -0,0 +1 @@
mutter-cogl-pango-8.vapi