Add support for Mutter 45

This commit is contained in:
Corentin Noël 2023-08-29 12:37:34 +02:00 committed by Corentin Noël
parent 9fe67843b8
commit 151e5f0175
42 changed files with 1610 additions and 66 deletions

View File

@ -85,8 +85,13 @@ namespace Gala {
* It is calculated by the system whenever update_region is called.
* You can influce it with the custom_region and the track_actor function.
*/
#if HAS_MUTTER45
private Mtk.Rectangle[] region;
public unowned Mtk.Rectangle[] get_region () {
#else
private Meta.Rectangle[] region;
public unowned Meta.Rectangle[] get_region () {
#endif
return region;
}
/**
@ -94,11 +99,20 @@ namespace Gala {
* more details. Changing this property will cause update_region to be
* called. Default to null.
*/
#if HAS_MUTTER45
private Mtk.Rectangle[]? _custom_region = null;
protected unowned Mtk.Rectangle[]? get_custom_region () {
#else
private Meta.Rectangle[]? _custom_region = null;
protected unowned Meta.Rectangle[]? get_custom_region () {
#endif
return _custom_region;
}
#if HAS_MUTTER45
protected void set_custom_region (Mtk.Rectangle[]? custom_region) {
#else
protected void set_custom_region (Meta.Rectangle[]? custom_region) {
#endif
_custom_region = custom_region;
update_region ();
}
@ -176,7 +190,11 @@ namespace Gala {
var has_custom = custom_region != null;
var len = tracked_actors.length () + (has_custom ? custom_region.length : 0);
Meta.Rectangle[] regions = new Meta.Rectangle[len];
#if HAS_MUTTER45
var regions = new Mtk.Rectangle[len];
#else
var regions = new Meta.Rectangle[len];
#endif
var i = 0;
if (has_custom) {

View File

@ -287,7 +287,11 @@ namespace Gala {
*/
public static Clutter.Actor? get_window_actor_snapshot (
Meta.WindowActor actor,
#if HAS_MUTTER45
Mtk.Rectangle inner_rect
#else
Meta.Rectangle inner_rect
#endif
) {
Clutter.Content content;

View File

@ -139,6 +139,17 @@ if mutter44_dep.found()
vala_flags = ['--define', 'HAS_MUTTER43', '--define', 'HAS_MUTTER44']
endif
mutter45_dep = dependency('libmutter-13', version: ['>= 45', '< 46'], required: false)
if mutter45_dep.found()
libmutter_dep = dependency('libmutter-13', version: '>= 45')
mutter_dep = [
libmutter_dep,
dependency('mutter-mtk-13'), dependency('mutter-cogl-13'),
dependency('mutter-cogl-pango-13'), dependency('mutter-clutter-13')
]
vala_flags = ['--define', 'HAS_MUTTER43', '--define', 'HAS_MUTTER44', '--define', 'HAS_MUTTER45']
endif
if mutter_dep.length() == 0
error ('No supported mutter library found!')
endif

View File

@ -22,7 +22,11 @@ public class Gala.Plugins.PIP.Plugin : Gala.Plugin {
private Gala.WindowManager? wm = null;
private SelectionArea? selection_area;
#if HAS_MUTTER45
private static inline bool meta_rectangle_contains (Mtk.Rectangle rect, int x, int y) {
#else
private static inline bool meta_rectangle_contains (Meta.Rectangle rect, int x, int y) {
#endif
return x >= rect.x && x < rect.x + rect.width
&& y >= rect.y && y < rect.y + rect.height;
}

View File

@ -95,7 +95,11 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor {
update_size ();
update_container_position ();
#if HAS_MUTTER45
Mtk.Rectangle monitor_rect;
#else
Meta.Rectangle monitor_rect;
#endif
get_current_monitor_rect (out monitor_rect);
float x_position, y_position;
@ -166,7 +170,11 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor {
}
}
#if HAS_MUTTER45
public override bool enter_event (Clutter.Event event) {
#else
public override bool enter_event (Clutter.CrossingEvent event) {
#endif
var duration = wm.enable_animations ? 300 : 0;
close_button.save_easing_state ();
@ -182,7 +190,11 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor {
return Clutter.EVENT_PROPAGATE;
}
#if HAS_MUTTER45
public override bool leave_event (Clutter.Event event) {
#else
public override bool leave_event (Clutter.CrossingEvent event) {
#endif
var duration = wm.enable_animations ? 300 : 0;
close_button.save_easing_state ();
@ -214,15 +226,18 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor {
update_screen_position ();
}
#if HAS_MUTTER45
private bool on_resize_button_press (Clutter.Event event) {
#else
private bool on_resize_button_press (Clutter.ButtonEvent event) {
if (resizing || event.button != 1) {
#endif
if (resizing || event.get_button () != Clutter.Button.PRIMARY) {
return Clutter.EVENT_STOP;
}
resizing = true;
resize_start_x = event.x;
resize_start_y = event.y;
event.get_coords (out resize_start_x, out resize_start_y);
begin_resize_width = width;
begin_resize_height = height;
@ -240,15 +255,16 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor {
switch (event.get_type ()) {
case Clutter.EventType.MOTION:
unowned var motion_event = (Clutter.MotionEvent) event;
var mods = event.get_state ();
if (!(Clutter.ModifierType.BUTTON1_MASK in mods)) {
stop_resizing ();
break;
}
float diff_x = motion_event.x - resize_start_x;
float diff_y = motion_event.y - resize_start_y;
float event_x, event_y;
event.get_coords (out event_x, out event_y);
float diff_x = event_x - resize_start_x;
float diff_y = event_y - resize_start_y;
width = begin_resize_width + diff_x;
height = begin_resize_height + diff_y;
@ -258,7 +274,7 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor {
break;
case Clutter.EventType.BUTTON_RELEASE:
if (event.get_button () == 1) {
if (event.get_button () == Clutter.Button.PRIMARY) {
stop_resizing ();
}
@ -401,7 +417,11 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor {
private void place_window_in_screen () {
off_screen = false;
#if HAS_MUTTER45
Mtk.Rectangle monitor_rect;
#else
Meta.Rectangle monitor_rect;
#endif
get_current_monitor_rect (out monitor_rect);
int monitor_x = monitor_rect.x;
@ -433,7 +453,11 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor {
set_easing_mode (Clutter.AnimationMode.EASE_OUT_BACK);
set_easing_duration (duration);
#if HAS_MUTTER45
Mtk.Rectangle monitor_rect;
#else
Meta.Rectangle monitor_rect;
#endif
get_current_monitor_rect (out monitor_rect);
int monitor_x = monitor_rect.x;
@ -509,7 +533,11 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor {
return false;
}
#if HAS_MUTTER45
private void get_current_monitor_rect (out Mtk.Rectangle rect) {
#else
private void get_current_monitor_rect (out Meta.Rectangle rect) {
#endif
var display = wm.get_display ();
rect = display.get_monitor_geometry (display.get_current_monitor ());
}

View File

@ -51,8 +51,12 @@ public class Gala.Plugins.PIP.SelectionArea : Clutter.Actor {
canvas.invalidate ();
}
#if HAS_MUTTER45
public override bool key_press_event (Clutter.Event e) {
#else
public override bool key_press_event (Clutter.KeyEvent e) {
if (e.keyval == Clutter.Key.Escape) {
#endif
if (e.get_key_symbol () == Clutter.Key.Escape) {
close ();
closed ();
return true;
@ -61,26 +65,37 @@ public class Gala.Plugins.PIP.SelectionArea : Clutter.Actor {
return false;
}
#if HAS_MUTTER45
public override bool button_press_event (Clutter.Event e) {
#else
public override bool button_press_event (Clutter.ButtonEvent e) {
if (dragging || e.button != 1) {
#endif
if (dragging || e.get_button () != Clutter.Button.PRIMARY) {
return true;
}
clicked = true;
start_point.x = (int) e.x;
start_point.y = (int) e.y;
float press_x, press_y;
e.get_coords (out press_x, out press_y);
start_point = { (int) press_x, (int) press_y};
return true;
}
#if HAS_MUTTER45
public override bool button_release_event (Clutter.Event e) {
#else
public override bool button_release_event (Clutter.ButtonEvent e) {
if (e.button != 1) {
#endif
if (e.get_button () != Clutter.Button.PRIMARY) {
return true;
}
if (!dragging) {
selected ((int) e.x, (int) e.y);
float event_x, event_y;
e.get_coords (out event_x, out event_y);
selected ((int) event_x, (int) event_y);
close ();
return true;
}
@ -101,13 +116,18 @@ public class Gala.Plugins.PIP.SelectionArea : Clutter.Actor {
return true;
}
#if HAS_MUTTER45
public override bool motion_event (Clutter.Event e) {
#else
public override bool motion_event (Clutter.MotionEvent e) {
#endif
if (!clicked) {
return true;
}
end_point.x = (int) e.x;
end_point.y = (int) e.y;
float press_x, press_y;
e.get_coords (out press_x, out press_y);
end_point = { (int) press_x, (int) press_y};
content.invalidate ();
if (!dragging) {

View File

@ -69,7 +69,11 @@ namespace Gala.Plugins.Template {
wm.ui_group.add_child (red_box);
}
#if HAS_MUTTER45
private bool turn_green (Clutter.Event event) {
#else
private bool turn_green (Clutter.ButtonEvent event) {
#endif
red_box.background_color = { 0, 255, 0, 255 };
return true;
}

View File

@ -41,7 +41,11 @@ namespace Gala {
yield;
}
#if HAS_MUTTER45
public void update (Mtk.Rectangle monitor) {
#else
public void update (Meta.Rectangle monitor) {
#endif
string[] key_frame_files = {};
if (show == null)

View File

@ -32,8 +32,10 @@ namespace Gala {
reactive = true;
button_release_event.connect ((event) => {
if (event.button == Clutter.Button.SECONDARY) {
show_background_menu ((int)event.x, (int)event.y);
float x, y;
event.get_coords (out x, out y);
if (event.get_button () == Clutter.Button.SECONDARY) {
show_background_menu ((int)x, (int)y);
}
});

View File

@ -53,7 +53,11 @@ public class Gala.ScrollBackend : Object {
actor.scroll_event.connect (on_scroll_event);
}
#if HAS_MUTTER45
private bool on_scroll_event (Clutter.Event event) {
#else
private bool on_scroll_event (Clutter.ScrollEvent event) {
#endif
if (!can_handle_event (event)) {
return false;
}
@ -100,7 +104,11 @@ public class Gala.ScrollBackend : Object {
return true;
}
#if HAS_MUTTER45
private static bool can_handle_event (Clutter.Event event) {
#else
private static bool can_handle_event (Clutter.ScrollEvent event) {
#endif
return event.get_type () == Clutter.EventType.SCROLL
&& event.get_source_device ().get_device_type () == Clutter.InputDeviceType.TOUCHPAD_DEVICE
&& event.get_scroll_direction () == Clutter.ScrollDirection.SMOOTH;

View File

@ -107,7 +107,11 @@ public class Gala.HotCorner : Object {
}
}
#if HAS_MUTTER45
private static Mtk.Rectangle get_barrier_rect (float x, float y, float scale, string hot_corner_position, Clutter.Orientation orientation) {
#else
private static Meta.Rectangle get_barrier_rect (float x, float y, float scale, string hot_corner_position, Clutter.Orientation orientation) {
#endif
var barrier_size = InternalUtils.scale_to_int (BARRIER_SIZE, scale);
int x1 = (int) x;

View File

@ -119,20 +119,36 @@ namespace Gala {
return k1 * k1 + k2 * k2;
}
#if HAS_MUTTER45
private static Mtk.Rectangle rect_adjusted (Mtk.Rectangle rect, int dx1, int dy1, int dx2, int dy2) {
#else
private static Meta.Rectangle rect_adjusted (Meta.Rectangle rect, int dx1, int dy1, int dx2, int dy2) {
#endif
return {rect.x + dx1, rect.y + dy1, rect.width + (-dx1 + dx2), rect.height + (-dy1 + dy2)};
}
#if HAS_MUTTER45
private static Gdk.Point rect_center (Mtk.Rectangle rect) {
#else
private static Gdk.Point rect_center (Meta.Rectangle rect) {
#endif
return {rect.x + rect.width / 2, rect.y + rect.height / 2};
}
public struct TilableWindow {
#if HAS_MUTTER45
Mtk.Rectangle rect;
#else
Meta.Rectangle rect;
#endif
unowned WindowClone id;
}
#if HAS_MUTTER45
public static List<TilableWindow?> calculate_grid_placement (Mtk.Rectangle area, List<TilableWindow?> windows) {
#else
public static List<TilableWindow?> calculate_grid_placement (Meta.Rectangle area, List<TilableWindow?> windows) {
#endif
uint window_count = windows.length ();
int columns = (int)Math.ceil (Math.sqrt (window_count));
int rows = (int)Math.ceil (window_count / (double)columns);
@ -212,10 +228,16 @@ namespace Gala {
var rect = window.rect;
// Work out where the slot is
Meta.Rectangle target = {area.x + (slot % columns) * slot_width,
area.y + (slot / columns) * slot_height,
slot_width,
slot_height};
#if HAS_MUTTER45
Mtk.Rectangle target = {
#else
Meta.Rectangle target = {
#endif
area.x + (slot % columns) * slot_width,
area.y + (slot / columns) * slot_height,
slot_width,
slot_height
};
target = rect_adjusted (target, 10, 10, -10, -10);
float scale;
@ -316,7 +338,11 @@ namespace Gala {
/**
* Returns the workspaces geometry following the only_on_primary settings.
*/
#if HAS_MUTTER45
public static Mtk.Rectangle get_workspaces_geometry (Meta.Display display) {
#else
public static Meta.Rectangle get_workspaces_geometry (Meta.Display display) {
#endif
if (InternalUtils.workspaces_only_on_primary ()) {
var primary = display.get_primary_monitor ();
return display.get_monitor_geometry (primary);

View File

@ -115,7 +115,11 @@ namespace Gala {
flash_area (x, y, width, height);
}
#if HAS_MUTTER45
Mtk.Rectangle rect = { x, y, width, height };
#else
Meta.Rectangle rect = { x, y, width, height };
#endif
unowned var display = wm.get_display ();
var scale = display.get_monitor_scale (display.get_monitor_index_for_rect (rect));
@ -149,7 +153,11 @@ namespace Gala {
rect = window.frame_rect_to_client_rect (rect);
}
#if HAS_MUTTER45
Mtk.Rectangle clip = { rect.x - (int) actor_x, rect.y - (int) actor_y, rect.width, rect.height };
#else
Cairo.RectangleInt clip = { rect.x - (int) actor_x, rect.y - (int) actor_y, rect.width, rect.height };
#endif
var image = (Cairo.ImageSurface) window_texture.get_image (clip);
if (include_cursor) {
image = composite_stage_cursor (image, { rect.x, rect.y, rect.width, rect.height });

View File

@ -113,14 +113,22 @@ namespace Gala {
icon_container.actor_removed.disconnect (redraw);
}
#if HAS_MUTTER45
public override bool enter_event (Clutter.Event event) {
#else
public override bool enter_event (Clutter.CrossingEvent event) {
#endif
toggle_close_button (true);
return Clutter.EVENT_PROPAGATE;
}
#if HAS_MUTTER45
public override bool leave_event (Clutter.Event event) {
#else
public override bool leave_event (Clutter.CrossingEvent event) {
if (!contains (event.related)) {
#endif
if (!contains (event.get_related ())) {
toggle_close_button (false);
}

View File

@ -178,19 +178,24 @@ namespace Gala {
* Scroll through workspaces with the mouse wheel. Smooth scrolling is handled by
* GestureTracker.
*/
#if HAS_MUTTER45
public override bool scroll_event (Clutter.Event scroll_event) {
#else
public override bool scroll_event (Clutter.ScrollEvent scroll_event) {
#endif
if (!opened) {
return true;
}
if (scroll_event.direction == Clutter.ScrollDirection.SMOOTH ||
scroll_event.scroll_source == Clutter.ScrollSource.FINGER ||
Clutter.ScrollDirection scroll_direction = scroll_event.get_scroll_direction ();
if (scroll_direction == Clutter.ScrollDirection.SMOOTH ||
scroll_event.get_scroll_source () == Clutter.ScrollSource.FINGER ||
scroll_event.get_source_device ().get_device_type () == Clutter.InputDeviceType.TOUCHPAD_DEVICE) {
return false;
}
Meta.MotionDirection direction;
switch (scroll_event.direction) {
switch (scroll_direction) {
case Clutter.ScrollDirection.UP:
case Clutter.ScrollDirection.LEFT:
direction = Meta.MotionDirection.LEFT;
@ -535,11 +540,15 @@ namespace Gala {
* Collect key events, mainly for redirecting them to the WindowCloneContainers to
* select the active window.
*/
#if HAS_MUTTER45
public override bool key_press_event (Clutter.Event event) {
#else
public override bool key_press_event (Clutter.KeyEvent event) {
#endif
if (!opened)
return true;
switch (event.keyval) {
switch (event.get_key_symbol ()) {
case Clutter.Key.Escape:
toggle ();
break;

View File

@ -44,8 +44,12 @@ namespace Gala {
set_content (canvas);
}
#if HAS_MUTTER45
public override bool key_press_event (Clutter.Event e) {
#else
public override bool key_press_event (Clutter.KeyEvent e) {
if (e.keyval == Clutter.Key.Escape) {
#endif
if (e.get_key_symbol () == Clutter.Key.Escape) {
close ();
cancelled = true;
closed ();
@ -55,12 +59,18 @@ namespace Gala {
return false;
}
#if HAS_MUTTER45
public override bool button_release_event (Clutter.Event e) {
#else
public override bool button_release_event (Clutter.ButtonEvent e) {
if (e.button != 1) {
#endif
if (e.get_button () != Clutter.Button.PRIMARY) {
return true;
}
point = Graphene.Point () { x = e.x, y = e.y };
float x, y;
e.get_coords (out x, out y);
point = Graphene.Point () { x = x, y = y };
close ();
this.hide ();

View File

@ -52,8 +52,12 @@ namespace Gala {
canvas.invalidate ();
}
#if HAS_MUTTER45
public override bool key_press_event (Clutter.Event e) {
#else
public override bool key_press_event (Clutter.KeyEvent e) {
if (e.keyval == Clutter.Key.Escape) {
#endif
if (e.get_key_symbol () == Clutter.Key.Escape) {
close ();
cancelled = true;
closed ();
@ -63,20 +67,30 @@ namespace Gala {
return false;
}
#if HAS_MUTTER45
public override bool button_press_event (Clutter.Event e) {
#else
public override bool button_press_event (Clutter.ButtonEvent e) {
if (dragging || e.button != 1) {
#endif
if (dragging || e.get_button () != Clutter.Button.PRIMARY) {
return true;
}
clicked = true;
start_point.init (e.x, e.y);
float x, y;
e.get_coords (out x, out y);
start_point.init (x, y);
return true;
}
#if HAS_MUTTER45
public override bool button_release_event (Clutter.Event e) {
#else
public override bool button_release_event (Clutter.ButtonEvent e) {
if (e.button != 1) {
#endif
if (e.get_button () != Clutter.Button.PRIMARY) {
return true;
}
@ -98,12 +112,18 @@ namespace Gala {
return true;
}
#if HAS_MUTTER45
public override bool motion_event (Clutter.Event e) {
#else
public override bool motion_event (Clutter.MotionEvent e) {
#endif
if (!clicked) {
return true;
}
end_point.init (e.x, e.y);
float x, y;
e.get_coords (out x, out y);
end_point.init (x, y);
content.invalidate ();
if (!dragging) {

View File

@ -34,7 +34,11 @@ public class Gala.WindowClone : Clutter.Actor {
/**
* The currently assigned slot of the window in the tiling layout. May be null.
*/
#if HAS_MUTTER45
public Mtk.Rectangle? slot { get; private set; default = null; }
#else
public Meta.Rectangle? slot { get; private set; default = null; }
#endif
/**
* When active fades a white border around the window in. Used for the visually
@ -363,7 +367,11 @@ public class Gala.WindowClone : Clutter.Actor {
/**
* Animate the window to the given slot
*/
#if HAS_MUTTER45
public void take_slot (Mtk.Rectangle rect, bool with_gesture = false, bool is_cancel_animation = false) {
#else
public void take_slot (Meta.Rectangle rect, bool with_gesture = false, bool is_cancel_animation = false) {
#endif
slot = rect;
var initial_x = x;
var initial_y = y;
@ -466,11 +474,19 @@ public class Gala.WindowClone : Clutter.Actor {
(input_rect.y - outer_rect.y) * scale_factor);
}
#if HAS_MUTTER45
public override bool button_press_event (Clutter.Event event) {
#else
public override bool button_press_event (Clutter.ButtonEvent event) {
#endif
return Clutter.EVENT_STOP;
}
#if HAS_MUTTER45
public override bool enter_event (Clutter.Event event) {
#else
public override bool enter_event (Clutter.CrossingEvent event) {
#endif
if (drag_action != null && drag_action.dragging) {
return Clutter.EVENT_PROPAGATE;
}
@ -492,7 +508,11 @@ public class Gala.WindowClone : Clutter.Actor {
return Clutter.EVENT_PROPAGATE;
}
#if HAS_MUTTER45
public override bool leave_event (Clutter.Event event) {
#else
public override bool leave_event (Clutter.CrossingEvent event) {
#endif
var duration = wm.enable_animations ? FADE_ANIMATION_DURATION : 0;
close_button.save_easing_state ();

View File

@ -198,7 +198,11 @@ namespace Gala {
return (int) (seq_b - seq_a);
});
#if HAS_MUTTER45
Mtk.Rectangle area = {
#else
Meta.Rectangle area = {
#endif
padding_left,
padding_top,
(int)width - padding_left - padding_right,

View File

@ -26,8 +26,12 @@ public class Gala.WindowOverview : Clutter.Actor, ActivatableComponent {
reactive = true;
}
#if HAS_MUTTER45
public override bool key_press_event (Clutter.Event event) {
#else
public override bool key_press_event (Clutter.KeyEvent event) {
if (event.keyval == Clutter.Key.Escape) {
#endif
if (event.get_key_symbol () == Clutter.Key.Escape) {
close ();
return Clutter.EVENT_STOP;
@ -42,8 +46,12 @@ public class Gala.WindowOverview : Clutter.Actor, ActivatableComponent {
}
}
#if HAS_MUTTER45
public override bool button_release_event (Clutter.Event event) {
#else
public override bool button_release_event (Clutter.ButtonEvent event) {
if (event.button == Clutter.Button.PRIMARY) {
#endif
if (event.get_button () == Clutter.Button.PRIMARY) {
close ();
}

View File

@ -434,8 +434,14 @@ public class Gala.WindowSwitcher : Clutter.Actor {
close_switcher (wm.get_display ().get_current_time ());
}
#if HAS_MUTTER45
private bool container_motion_event (Clutter.Event event) {
#else
private bool container_motion_event (Clutter.MotionEvent event) {
var actor = event.stage.get_actor_at_pos (Clutter.PickMode.ALL, (int)event.x, (int)event.y);
#endif
float x, y;
event.get_coords (out x, out y);
var actor = container.get_stage ().get_actor_at_pos (Clutter.PickMode.ALL, (int)x, (int)y);
if (actor == null) {
return true;
}
@ -452,24 +458,36 @@ public class Gala.WindowSwitcher : Clutter.Actor {
return true;
}
#if HAS_MUTTER45
private bool container_mouse_release (Clutter.Event event) {
#else
private bool container_mouse_release (Clutter.ButtonEvent event) {
if (opened && event.button == Clutter.Button.PRIMARY) {
close_switcher (event.time);
#endif
if (opened && event.get_button () == Clutter.Button.PRIMARY) {
close_switcher (event.get_time ());
}
return true;
}
#if HAS_MUTTER45
public override bool key_release_event (Clutter.Event event) {
#else
public override bool key_release_event (Clutter.KeyEvent event) {
#endif
if ((get_current_modifiers () & modifier_mask) == 0) {
close_switcher (event.time);
close_switcher (event.get_time ());
}
return Clutter.EVENT_PROPAGATE;
}
#if HAS_MUTTER45
public override bool key_press_event (Clutter.Event event) {
#else
public override bool key_press_event (Clutter.KeyEvent event) {
switch (event.keyval) {
#endif
switch (event.get_key_symbol ()) {
case Clutter.Key.Right:
next_window (false);
return Clutter.EVENT_STOP;
@ -477,10 +495,10 @@ public class Gala.WindowSwitcher : Clutter.Actor {
next_window (true);
return Clutter.EVENT_STOP;
case Clutter.Key.Escape:
close_switcher (event.time, true);
close_switcher (event.get_time (), true);
return Clutter.EVENT_PROPAGATE;
case Clutter.Key.Return:
close_switcher (event.time, false);
close_switcher (event.get_time (), false);
return Clutter.EVENT_PROPAGATE;
}

View File

@ -284,7 +284,11 @@ namespace Gala {
remove_window (window);
}
#if HAS_MUTTER45
public void update_size (Mtk.Rectangle monitor_geometry) {
#else
public void update_size (Meta.Rectangle monitor_geometry) {
#endif
if (window_container.width != monitor_geometry.width || window_container.height != monitor_geometry.height) {
window_container.set_size (monitor_geometry.width, monitor_geometry.height);
background.set_size (window_container.width, window_container.height);
@ -319,7 +323,11 @@ namespace Gala {
*
* @param amount The amount in px to shrink.
*/
#if HAS_MUTTER45
private static inline void shrink_rectangle (ref Mtk.Rectangle rect, int amount) {
#else
private static inline void shrink_rectangle (ref Meta.Rectangle rect, int amount) {
#endif
rect.x += amount;
rect.y += amount;
rect.width -= amount * 2;
@ -390,7 +398,11 @@ namespace Gala {
gesture_tracker.connect_handlers ((owned) on_animation_begin, (owned) on_animation_update, (owned)on_animation_end);
}
#if HAS_MUTTER45
Mtk.Rectangle area = {
#else
Meta.Rectangle area = {
#endif
(int)Math.floorf (monitor.x + monitor.width - monitor.width * scale) / 2,
(int)Math.floorf (monitor.y + InternalUtils.scale_to_int (TOP_OFFSET, scale_factor)),
(int)Math.floorf (monitor.width * scale),

View File

@ -17,8 +17,13 @@
public class Gala.WindowListener : Object {
public struct WindowGeometry {
#if HAS_MUTTER45
Mtk.Rectangle inner;
Mtk.Rectangle outer;
#else
Meta.Rectangle inner;
Meta.Rectangle outer;
#endif
}
private static WindowListener? instance = null;

View File

@ -105,7 +105,11 @@ namespace Gala {
private Gee.HashSet<Meta.WindowActor> unminimizing = new Gee.HashSet<Meta.WindowActor> ();
private GLib.HashTable<Meta.Window, int> ws_assoc = new GLib.HashTable<Meta.Window, int> (direct_hash, direct_equal);
private Meta.SizeChange? which_change = null;
#if HAS_MUTTER45
private Mtk.Rectangle old_rect_size_change;
#else
private Meta.Rectangle old_rect_size_change;
#endif
private Clutter.Actor latest_window_snapshot;
private GLib.Settings animations_settings;
@ -1030,7 +1034,11 @@ namespace Gala {
}
}
#if HAS_MUTTER45
public override void show_tile_preview (Meta.Window window, Mtk.Rectangle tile_rect, int tile_monitor_number) {
#else
public override void show_tile_preview (Meta.Window window, Meta.Rectangle tile_rect, int tile_monitor_number) {
#endif
if (tile_preview == null) {
tile_preview = new Clutter.Actor ();
var rgba = InternalUtils.get_theme_accent_color ();
@ -1086,7 +1094,11 @@ namespace Gala {
}
}
#if HAS_MUTTER45
public override void show_window_menu_for_rect (Meta.Window window, Meta.WindowMenuType menu, Mtk.Rectangle rect) {
#else
public override void show_window_menu_for_rect (Meta.Window window, Meta.WindowMenuType menu, Meta.Rectangle rect) {
#endif
show_window_menu (window, menu, rect.x, rect.y);
}
@ -1140,7 +1152,11 @@ namespace Gala {
// must wait for size_changed to get updated frame_rect
// as which_change is not passed to size_changed, save it as instance variable
#if HAS_MUTTER45
public override void size_change (Meta.WindowActor actor, Meta.SizeChange which_change_local, Mtk.Rectangle old_frame_rect, Mtk.Rectangle old_buffer_rect) {
#else
public override void size_change (Meta.WindowActor actor, Meta.SizeChange which_change_local, Meta.Rectangle old_frame_rect, Meta.Rectangle old_buffer_rect) {
#endif
which_change = which_change_local;
old_rect_size_change = old_frame_rect;
@ -1201,7 +1217,11 @@ namespace Gala {
int width, height;
get_display ().get_size (out width, out height);
#if HAS_MUTTER45
Mtk.Rectangle icon = {};
#else
Meta.Rectangle icon = {};
#endif
if (actor.get_meta_window ().get_icon_geometry (out icon)) {
// Fix icon position and size according to ui scaling factor.
float ui_scale = get_display ().get_monitor_scale (get_display ().get_monitor_index_for_rect (icon));

View File

@ -0,0 +1,53 @@
namespace Clutter {
public struct Color {
[CCode (cname = "_vala_clutter_color_from_hls")]
public static Clutter.Color? from_hls (float hue, float luminance, float saturation) {
var color = Clutter.Color.alloc ();
color.init_from_hls (hue, luminance, saturation);
return color;
}
[CCode (cname = "_vala_clutter_color_from_pixel")]
public static Clutter.Color? from_pixel (uint32 pixel) {
var color = Clutter.Color.alloc ();
color.init_from_pixel (pixel);
return color;
}
[CCode (cname = "_vala_clutter_color_from_string")]
public static Clutter.Color? from_string (string str) {
var color = Clutter.Color.alloc ();
color.init_from_string (str);
return color;
}
[CCode (cname = "clutter_color_from_string")]
public bool parse_string (string str);
}
public interface Container : GLib.Object {
public void add (params Clutter.Actor[] actors);
[CCode (cname = "clutter_container_class_find_child_property")]
public class unowned GLib.ParamSpec find_child_property (string property_name);
[CCode (cname = "clutter_container_class_list_child_properties")]
public class unowned GLib.ParamSpec[] list_child_properties ();
}
public struct Units {
[CCode (cname = "clutter_units_from_cm")]
public Units.from_cm (float cm);
[CCode (cname = "clutter_units_from_em")]
public Units.from_em (float em);
[CCode (cname = "clutter_units_from_em_for_font")]
public Units.from_em_for_font (string font_name, float em);
[CCode (cname = "clutter_units_from_mm")]
public Units.from_mm (float mm);
[CCode (cname = "clutter_units_from_pixels")]
public Units.from_pixels (int px);
[CCode (cname = "clutter_units_from_pt")]
public Units.from_pt (float pt);
[CCode (cname = "clutter_units_from_string")]
public Units.from_string (string str);
}
[CCode (cheader_filename = "clutter/clutter.h", has_copy_function = false, has_destroy_function = false, has_type_id = false)]
public struct Capture {
}
}

194
vapi/Clutter-13.metadata Normal file
View File

@ -0,0 +1,194 @@
// Non mini-object
ActorBox struct
Color struct
Knot struct
Margin struct
PaintVolume struct
PathNode struct
Perspective struct
Units struct
*.ref 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"
ScriptError 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
.*_child_meta#virtual_method virtual
// Default values
Stage.read_pixels
.width default=-1
.height default=-1
Stage.paint_to_buffer
.data type="uint8[]"
Text
.position_to_coords.line_height default=null
// Skipped by g-i for unknown reasons
LayoutManager
.create_child_meta skip=false
// 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
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
Margin
.new skip
// Class methods
container_class_find_child_property skip
container_class_list_child_properties skip
// Move symbols
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
.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"
PadButtonEvent struct=false base_type="Clutter.Event"
PadRingEvent struct=false base_type="Clutter.Event"
PadStripEvent struct=false base_type="Clutter.Event"
ProximityEvent struct=false base_type="Clutter.Event"
ScrollEvent struct=false base_type="Clutter.Event"
TouchEvent struct=false base_type="Clutter.Event"
TouchpadHoldEvent struct=false base_type="Clutter.Event"
TouchpadPinchEvent struct=false base_type="Clutter.Event"
TouchpadSwipeEvent struct=false base_type="Clutter.Event"
// Keysyms used to be CLUTTER_X instead of CLUTTER_KEY_X
*#constant skip
CURRENT_TIME skip=false
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"
// There is no way to know sealed classes before GLib 2.70
ColorState sealed
FrameClock sealed
TextureContent sealed
TextureContent.new_from_texture symbol_type="constructor"
// Backwards compatibility
Color.alloc symbol_type="function"
Color.from_hls name="init_from_hls"
Color.from_pixel name="init_from_pixel"
Color.from_string name="init_from_string"
Color.new name="from_rgba" symbol_type="function"
.alpha default=0
.blue default=0
.green default=0
.red default=0
Color.init
.alpha default=0
.blue default=0
.green default=0
.red default=0
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"
BUTTON_* skip=false name="BUTTON_(.+)" type="uint32" parent="Clutter.Button"
EVENT_STOP skip=false type="bool"
EVENT_PROPAGATE skip=false type="bool"

161
vapi/Cogl-13-custom.vala Normal file
View File

@ -0,0 +1,161 @@
namespace Cogl {
public struct Color {
[Version (since = "1.4")]
[CCode (cname="cogl_color_init_from_4f")]
public Color.from_4f (float red, float green, float blue, float alpha);
[Version (since = "1.4")]
[CCode (cname="cogl_color_init_from_4fv")]
public Color.from_4fv (float color_array);
[Version (since = "1.4")]
[CCode (cname="cogl_color_init_from_4ub")]
public Color.from_4ub (uint8 red, uint8 green, uint8 blue, uint8 alpha);
[Version (since = "1.16")]
[CCode (cname="cogl_color_init_from_hsl")]
public Color.from_hsl (float hue, float saturation, float luminance);
}
[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;
}
}

73
vapi/Cogl-13.metadata Normal file
View File

@ -0,0 +1,73 @@
* cheader_filename="cogl/cogl.h"
Color struct
_ColorSizeCheck skip
_TextureVertexSizeCheck skip
Color.equal.v1 type="Cogl.Color"
Color.equal.v2 type="Cogl.Color"
color_equal skip
Context.free_timestamp_query.query owned
Texture
.get_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
Pipeline.get_layer_filters
.min_filter out
.mag_filter out
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
is_snippet 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
Scanout.error_quark parent="Cogl.ScanoutError" name="quark"
scanout_error_quark skip
BitmapError errordomain
BlendStringError errordomain
RendererError errordomain
SystemError errordomain
TextureError errordomain
FramebufferError errordomain
ScanoutError errordomain
Offscreen sealed

203
vapi/Meta-13.metadata Normal file
View File

@ -0,0 +1,203 @@
* skip=false
*.* skip=false
* cheader_filename="meta/main.h"
Backend cheader_filename="meta/meta-backend.h"
Backend.gpu_added skip
Background cheader_filename="meta/meta-background.h"
Background.set_file.file nullable
BackgroundContent.new symbol_type="constructor"
BackgroundActor cheader_filename="meta/meta-background-actor.h"
BackgroundContent cheader_filename="meta/meta-background-content.h"
BackgroundGroup cheader_filename="meta/meta-background-group.h"
BackgroundImage cheader_filename="meta/meta-background-image.h"
BackgroundImageCache cheader_filename="meta/meta-background-image.h"
Barrier cheader_filename="meta/barrier.h"
BarrierDirection cheader_filename="meta/barrier.h"
BarrierEvent cheader_filename="meta/barrier.h"
BarrierFlags cheader_filename="meta/barrier.h"
ButtonFunction cheader_filename="meta/common.h"
ButtonLayout cheader_filename="meta/common.h"
Compositor cheader_filename="meta/compositor.h"
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"
CompositorType cheader_filename="meta/meta-enums.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"
DebugPaintFlag 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"
FrameType cheader_filename="meta/common.h"
GrabOp cheader_filename="meta/common.h"
Gravity 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"
KeyboardA11yFlags cheader_filename="meta/meta-enums.h"
KeyBinding cheader_filename="meta/keybindings.h"
keybindings_set_custom_handler parent="Meta.KeyBinding" name="set_custom_handler" cheader_filename="meta/keybindings.h"
KeyBindingAction cheader_filename="meta/prefs.h"
KeyBindingFlags cheader_filename="meta/prefs.h"
KeyHandlerFunc cheader_filename="meta/prefs.h"
KeyHandlerFunc.event type="Clutter.KeyEvent?"
KeyHandlerFunc.window nullable
LaunchContext cheader_filename="meta/meta-launch-context.h"
Laters cheader_filename="meta/types.h"
LaterType cheader_filename="meta/util.h"
LocaleDirection cheader_filename="meta/util.h"
MaximizeFlags cheader_filename="meta/window.h"
MultiTexture cheader_filename="meta/meta-multi-texture.h"
MultiTextureFormat cheader_filename="meta/meta-multi-texture-format.h"
MonitorManager cheader_filename="meta/meta-monitor-manager.h"
MonitorSwitchConfigType cheader_filename="meta/meta-monitor-manager.h"
MotionDirection cheader_filename="meta/common.h"
PadDirection cheader_filename="meta/display.h"
PadFeatureType 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"
PowerSaveChangeReason cheader_filename="meta/meta-monitor-manager.h"
Preference cheader_filename="meta/prefs.h"
PrefsChangedFunc cheader_filename="meta/prefs.h"
RemoteAccessController cheader_filename="meta/meta-remote-access-controller.h"
RemoteAccessHandle cheader_filename="meta/meta-remote-access-controller.h"
Selection cheader_filename="meta/meta-selection.h"
SelectionSource cheader_filename="meta/meta-selection-source.h"
SelectionSourceMemory cheader_filename="meta/meta-selection-source-memory.h"
SelectionType cheader_filename="meta/meta-selection-source.h"
Settings cheader_filename="meta/meta-settings.h"
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"
VirtualModifier cheader_filename="meta/common.h"
WaylandClient cheader_filename="meta/meta-wayland-client.h"
WaylandCompositor cheader_filename="meta/meta-wayland-compositor.h"
Workspace cheader_filename="meta/workspace.h"
WorkspaceManager cheader_filename="meta/meta-workspace-manager.h"
Window cheader_filename="meta/window.h"
Window.focus#signal name="focused"
Window.icon type="Cairo.Surface"
Window.mini_icon type="Cairo.Surface"
Window.suspend_state skip
WindowActor cheader_filename="meta/meta-window-actor.h"
WindowClientType cheader_filename="meta/window.h"
WindowForeachFunc cheader_filename="meta/window.h"
WindowGroup cheader_filename="meta/meta-window-group.h"
WindowMenuType cheader_filename="meta/compositor.h"
WindowShape cheader_filename="meta/meta-window-shape.h"
WindowType cheader_filename="meta/window.h"
X11Display cheader_filename="meta/meta-x11-display.h"
X11Display.add_event_func skip
X11DisplayEventFunc skip
// As per https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2287
MonitorManager.monitor_privacy_screen_changed skip
prefs_* parent="Meta.Prefs" name="prefs_(.+)" cheader_filename="meta/prefs.h"
g_utf8_strndup skip
preference_to_string cheader_filename="meta/prefs.h"
frame_type_to_string cheader_filename="meta/util.h"
topic_to_string parent="Meta.DebugTopic" name="to_string" cheader_filename="meta/util.h"
CURRENT_TIME cheader_filename="meta/common.h"
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"
Display.window_visibility_updated
.object name="unplaced" type="GLib.List<unowned Meta.Window>"
.p0 name="should_show" type="GLib.List<unowned Meta.Window>"
.p1 name="should_hide" type="GLib.List<unowned Meta.Window>"
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_verbose parent="Meta.Util" cheader_filename="meta/util.h"
is_wayland_compositor parent="Meta.Util" cheader_filename="meta/util.h"
pop_no_msg_prefix parent="Meta.Util" cheader_filename="meta/util.h"
push_no_msg_prefix parent="Meta.Util" cheader_filename="meta/util.h"
remove_verbose_topic parent="Meta.Util" cheader_filename="meta/util.h"
unsigned_long_equal parent="Meta.Util" name="ulong_equal" cheader_filename="meta/util.h"
unsigned_long_equal.v1 type="ulong?"
unsigned_long_equal.v2 type="ulong?"
unsigned_long_hash parent="Meta.Util" name="ulong_hash" cheader_filename="meta/util.h"
unsigned_long_hash.v type="ulong?"
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"
BackgroundActor sealed
BackgroundContent sealed
BackgroundImage sealed
BackgroundImageCache sealed
Background sealed
Dnd sealed
IdleMonitor sealed
LaunchContext sealed
RemoteAccessController sealed
SelectionSourceMemory sealed
Selection sealed
ShadowFactory sealed
ShapedTexture sealed
SoundPlayer sealed
Stage sealed
StartupNotification sealed
WaylandClient sealed
WindowGroup sealed
WorkspaceManager sealed
X11Display sealed

1
vapi/Mtk-13.metadata Normal file
View File

@ -0,0 +1 @@
Rectangle struct

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

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

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

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

View File

@ -59,6 +59,10 @@ namespace Meta {
public static bool get_gnome_animations ();
[CCode (cheader_filename = "meta/prefs.h")]
public static Meta.KeyBindingAction get_keybinding_action (string name);
#if HAS_MUTTER45
[CCode (cheader_filename = "meta/prefs.h")]
public static string? get_keybinding_label (string name);
#endif
[CCode (cheader_filename = "meta/prefs.h")]
public static int get_mouse_button_menu ();
[CCode (cheader_filename = "meta/prefs.h")]
@ -75,8 +79,10 @@ namespace Meta {
public static bool get_raise_on_click ();
[CCode (cheader_filename = "meta/prefs.h")]
public static bool get_show_fallback_app_menu ();
#if !HAS_MUTTER45
[CCode (cheader_filename = "meta/prefs.h")]
public static unowned Pango.FontDescription get_titlebar_font ();
#endif
[CCode (cheader_filename = "meta/prefs.h")]
public static bool get_visual_bell ();
[CCode (cheader_filename = "meta/prefs.h")]
@ -246,7 +252,11 @@ namespace Meta {
#if HAS_MUTTER43
public class Barrier : GLib.Object, GLib.Initable {
[CCode (has_construct_function = false)]
#if HAS_MUTTER45
public Barrier (Meta.Backend backend, int x1, int y1, int x2, int y2, Meta.BarrierDirection directions, Meta.BarrierFlags flags) throws GLib.Error;
#else
public Barrier (Meta.Backend backend, int x1, int y1, int x2, int y2, Meta.BarrierDirection directions) throws GLib.Error;
#endif
#else
public class Barrier : GLib.Object {
[CCode (has_construct_function = false)]
@ -263,6 +273,10 @@ namespace Meta {
public Meta.BarrierDirection directions { get; construct; }
[NoAccessorMethod]
public Meta.Display display { owned get; construct; }
#if HAS_MUTTER45
[NoAccessorMethod]
public Meta.BarrierFlags flags { get; construct; }
#endif
[NoAccessorMethod]
public int x1 { get; construct; }
[NoAccessorMethod]
@ -336,6 +350,9 @@ namespace Meta {
public unowned Meta.Backend get_backend ();
public Meta.CompositorType get_compositor_type ();
public unowned Meta.Display get_display ();
#if HAS_MUTTER45
public unowned Meta.WaylandCompositor? get_wayland_compositor ();
#endif
public bool is_replacing ();
public void notify_ready ();
public bool raise_rlimit_nofile () throws GLib.Error;
@ -365,7 +382,7 @@ namespace Meta {
public void get_pointer (out Graphene.Point coords, out Clutter.ModifierType mods);
public bool get_pointer_visible ();
public float get_scale ();
public unowned Cogl.Texture get_sprite ();
public unowned Cogl.Texture? get_sprite ();
public void set_pointer_visible (bool visible);
[NoAccessorMethod]
public Meta.Backend backend { owned get; construct; }
@ -413,13 +430,26 @@ namespace Meta {
#endif
public uint get_keybinding_action (uint keycode, ulong mask);
public uint32 get_last_user_time ();
#if HAS_MUTTER45
public Mtk.Rectangle get_monitor_geometry (int monitor);
#else
public Meta.Rectangle get_monitor_geometry (int monitor);
#endif
public bool get_monitor_in_fullscreen (int monitor);
#if HAS_MUTTER45
public int get_monitor_index_for_rect (Mtk.Rectangle rect);
#else
public int get_monitor_index_for_rect (Meta.Rectangle rect);
#endif
public int get_monitor_neighbor_index (int which_monitor, Meta.DisplayDirection dir);
public float get_monitor_scale (int monitor);
public int get_n_monitors ();
#if HAS_MUTTER45
public string get_pad_button_label (Clutter.InputDevice pad, int button_number);
public string get_pad_feature_label (Clutter.InputDevice pad, Meta.PadFeatureType feature, Meta.PadDirection direction, int feature_number);
#else
public string get_pad_action_label (Clutter.InputDevice pad, Meta.PadActionType action_type, uint action_number);
#endif
public int get_primary_monitor ();
public unowned Meta.Selection get_selection ();
public void get_size (out int width, out int height);
@ -474,7 +504,11 @@ namespace Meta {
public signal bool restart ();
public signal void show_osd (int object, string p0, string p1);
public signal unowned Clutter.Actor? show_pad_osd (Clutter.InputDevice pad, GLib.Settings settings, string layout_path, bool edition_mode, int monitor_idx);
#if HAS_MUTTER45
public signal bool show_resize_popup (bool object, Mtk.Rectangle p0, int p1, int p2);
#else
public signal bool show_resize_popup (bool object, Meta.Rectangle p0, int p1, int p2);
#endif
public signal bool show_restart_message (string? message);
public signal void showing_desktop_changed ();
public signal void window_created (Meta.Window object);
@ -579,6 +613,10 @@ namespace Meta {
public void switch_config (Meta.MonitorSwitchConfigType config_type);
[NoAccessorMethod]
public Meta.Backend backend { owned get; construct; }
#if HAS_MUTTER45
[NoAccessorMethod]
public string experimental_hdr { owned get; set; }
#endif
[NoAccessorMethod]
public bool has_builtin_panel { get; }
#if HAS_MUTTER43
@ -589,8 +627,28 @@ namespace Meta {
public signal void confirm_display_change ();
public signal void monitors_changed ();
public signal void monitors_changed_internal ();
#if HAS_MUTTER45
public signal void power_save_mode_changed (Meta.PowerSaveChangeReason object);
#else
public signal void power_save_mode_changed ();
#endif
}
#if HAS_MUTTER45
[CCode (cheader_filename = "meta/meta-multi-texture.h", type_id = "meta_multi_texture_get_type ()")]
public class MultiTexture : GLib.Object {
[CCode (has_construct_function = false)]
public MultiTexture (Meta.MultiTextureFormat format, owned Cogl.Texture planes, int n_planes);
public Meta.MultiTextureFormat get_format ();
public int get_height ();
public int get_n_planes ();
public unowned Cogl.Texture get_plane (int index);
public int get_width ();
public bool is_simple ();
[CCode (has_construct_function = false)]
public MultiTexture.simple (owned Cogl.Texture plane);
public string to_string ();
}
#endif
[CCode (cheader_filename = "meta/meta-plugin.h", type_id = "meta_plugin_get_type ()")]
public abstract class Plugin : GLib.Object {
[CCode (has_construct_function = false)]
@ -627,13 +685,23 @@ namespace Meta {
[NoWrapper]
public virtual unowned Meta.PluginInfo? plugin_info ();
[NoWrapper]
#if HAS_MUTTER45
public virtual void show_tile_preview (Meta.Window window, Mtk.Rectangle tile_rect, int tile_monitor_number);
#else
public virtual void show_tile_preview (Meta.Window window, Meta.Rectangle tile_rect, int tile_monitor_number);
#endif
[NoWrapper]
public virtual void show_window_menu (Meta.Window window, Meta.WindowMenuType menu, int x, int y);
[NoWrapper]
#if HAS_MUTTER45
public virtual void show_window_menu_for_rect (Meta.Window window, Meta.WindowMenuType menu, Mtk.Rectangle rect);
[NoWrapper]
public virtual void size_change (Meta.WindowActor actor, Meta.SizeChange which_change, Mtk.Rectangle old_frame_rect, Mtk.Rectangle old_buffer_rect);
#else
public virtual void show_window_menu_for_rect (Meta.Window window, Meta.WindowMenuType menu, Meta.Rectangle rect);
[NoWrapper]
public virtual void size_change (Meta.WindowActor actor, Meta.SizeChange which_change, Meta.Rectangle old_frame_rect, Meta.Rectangle old_buffer_rect);
#endif
public void size_change_completed (Meta.WindowActor actor);
[NoWrapper]
public virtual void size_changed (Meta.WindowActor actor);
@ -700,7 +768,11 @@ namespace Meta {
[CCode (cheader_filename = "meta/meta-shadow-factory.h", ref_function = "meta_shadow_ref", type_id = "meta_shadow_get_type ()", unref_function = "meta_shadow_unref")]
[Compact]
public class Shadow {
#if HAS_MUTTER45
public void get_bounds (int window_x, int window_y, int window_width, int window_height, Mtk.Rectangle bounds);
#else
public void get_bounds (int window_x, int window_y, int window_width, int window_height, Cairo.RectangleInt bounds);
#endif
public void paint (Cogl.Framebuffer framebuffer, int window_x, int window_y, int window_width, int window_height, uint8 opacity, Cairo.Region? clip, bool clip_strictly);
public Meta.Shadow @ref ();
public void unref ();
@ -719,8 +791,13 @@ namespace Meta {
public sealed class ShapedTexture : GLib.Object, Clutter.Content {
[CCode (has_construct_function = false)]
protected ShapedTexture ();
#if HAS_MUTTER45
public Cairo.Surface? get_image (Mtk.Rectangle? clip);
public unowned Meta.MultiTexture get_texture ();
#else
public Cairo.Surface? get_image (Cairo.RectangleInt? clip);
public unowned Cogl.Texture get_texture ();
#endif
public void set_create_mipmaps (bool create_mipmaps);
public void set_mask_texture (Cogl.Texture mask_texture);
public signal void size_changed ();
@ -736,7 +813,9 @@ namespace Meta {
public sealed class Stage : Clutter.Stage, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
[CCode (has_construct_function = false)]
protected Stage ();
#if !HAS_MUTTER45
public signal void actors_painted ();
#endif
}
[CCode (cheader_filename = "meta/meta-startup-notification.h", type_id = "meta_startup_notification_get_type ()")]
public sealed class StartupNotification : GLib.Object {
@ -775,6 +854,7 @@ namespace Meta {
public signal void complete ();
public signal void timeout ();
}
#if !HAS_MUTTER45
[CCode (cheader_filename = "meta/theme.h", has_type_id = false)]
[Compact]
public class Theme {
@ -784,6 +864,7 @@ namespace Meta {
[CCode (cheader_filename = "meta/theme.h")]
public static unowned Meta.Theme @new ();
}
#endif
[CCode (cheader_filename = "meta/meta-wayland-client.h", type_id = "meta_wayland_client_get_type ()")]
public sealed class WaylandClient : GLib.Object {
[CCode (has_construct_function = false)]
@ -801,6 +882,15 @@ namespace Meta {
public signal void client_destroyed ();
#endif
}
#if HAS_MUTTER45
[CCode (cheader_filename = "meta/meta-wayland-compositor.h", type_id = "meta_wayland_compositor_get_type ()")]
public class WaylandCompositor : GLib.Object {
[CCode (has_construct_function = false)]
protected WaylandCompositor ();
public void* get_wayland_display ();
public signal void prepare_shutdown ();
}
#endif
[CCode (cheader_filename = "meta/window.h", type_id = "meta_window_get_type ()")]
#if HAS_MUTTER44
public abstract class Window : GLib.Object, GLib.Initable {
@ -821,19 +911,30 @@ namespace Meta {
public bool can_close ();
public bool can_maximize ();
public bool can_minimize ();
#if !HAS_MUTTER45
public bool can_shade ();
#endif
public void change_workspace (Meta.Workspace workspace);
public void change_workspace_by_index (int space_index, bool append);
public void check_alive (uint32 timestamp);
#if HAS_MUTTER45
public Mtk.Rectangle client_rect_to_frame_rect (Mtk.Rectangle client_rect);
#else
public Meta.Rectangle client_rect_to_frame_rect (Meta.Rectangle client_rect);
#endif
public void compute_group ();
public void @delete (uint32 timestamp);
public unowned Meta.Window find_root_ancestor ();
public void focus (uint32 timestamp);
public void foreach_ancestor (Meta.WindowForeachFunc func);
public void foreach_transient (Meta.WindowForeachFunc func);
#if HAS_MUTTER45
public Mtk.Rectangle frame_rect_to_client_rect (Mtk.Rectangle frame_rect);
public Mtk.Rectangle get_buffer_rect ();
#else
public Meta.Rectangle frame_rect_to_client_rect (Meta.Rectangle frame_rect);
public Meta.Rectangle get_buffer_rect ();
#endif
public unowned string? get_client_machine ();
public Meta.WindowClientType get_client_type ();
public unowned GLib.Object get_compositor_private ();
@ -841,7 +942,11 @@ namespace Meta {
public unowned Meta.Display get_display ();
public unowned Meta.Frame get_frame ();
public unowned Cairo.Region? get_frame_bounds ();
#if HAS_MUTTER45
public Mtk.Rectangle get_frame_rect ();
#else
public Meta.Rectangle get_frame_rect ();
#endif
public Meta.FrameType get_frame_type ();
public unowned Meta.Group? get_group ();
public unowned string? get_gtk_app_menu_object_path ();
@ -851,7 +956,11 @@ namespace Meta {
public unowned string? get_gtk_theme_variant ();
public unowned string? get_gtk_unique_bus_name ();
public unowned string? get_gtk_window_object_path ();
#if HAS_MUTTER45
public bool get_icon_geometry (out Mtk.Rectangle rect);
#else
public bool get_icon_geometry (out Meta.Rectangle rect);
#endif
public uint64 get_id ();
public Meta.StackLayer get_layer ();
public Meta.MaximizeFlags get_maximized ();
@ -869,14 +978,23 @@ namespace Meta {
public Meta.WindowType get_window_type ();
public unowned string? get_wm_class ();
public unowned string? get_wm_class_instance ();
#if HAS_MUTTER45
public Mtk.Rectangle get_work_area_all_monitors ();
public Mtk.Rectangle get_work_area_current_monitor ();
public Mtk.Rectangle get_work_area_for_monitor (int which_monitor);
#else
public Meta.Rectangle get_work_area_all_monitors ();
public Meta.Rectangle get_work_area_current_monitor ();
public Meta.Rectangle get_work_area_for_monitor (int which_monitor);
#endif
public unowned Meta.Workspace get_workspace ();
public X.Window get_xwindow ();
public void group_leader_changed ();
public bool has_attached_dialogs ();
public bool has_focus ();
#if HAS_MUTTER45
public bool has_pointer ();
#endif
public bool is_above ();
public bool is_always_on_all_workspaces ();
public bool is_ancestor_of_transient (Meta.Window transient);
@ -890,7 +1008,9 @@ namespace Meta {
public bool is_override_redirect ();
public bool is_remote ();
public bool is_screen_sized ();
#if !HAS_MUTTER45
public bool is_shaded ();
#endif
public bool is_skip_taskbar ();
public void kill ();
public bool located_on_workspace (Meta.Workspace workspace);
@ -904,10 +1024,17 @@ namespace Meta {
public void move_resize_frame (bool user_op, int root_x_nw, int root_y_nw, int w, int h);
public void move_to_monitor (int monitor);
public void raise ();
#if HAS_MUTTER45
public void raise_and_make_recent ();
#endif
public void set_compositor_private (GLib.Object priv);
public void set_demands_attention ();
#if HAS_MUTTER45
public void set_icon_geometry (Mtk.Rectangle? rect);
#else
public void set_icon_geometry (Meta.Rectangle? rect);
public void shade (uint32 timestamp);
#endif
public void shove_titlebar_onscreen ();
public bool showing_on_its_workspace ();
public void shutdown_group ();
@ -918,7 +1045,9 @@ namespace Meta {
public void unmaximize (Meta.MaximizeFlags directions);
public void unminimize ();
public void unset_demands_attention ();
#if !HAS_MUTTER45
public void unshade (uint32 timestamp);
#endif
public void unstick ();
[NoAccessorMethod]
public bool above { get; }
@ -971,6 +1100,9 @@ namespace Meta {
#endif
[CCode (cname = "focus")]
public signal void focused ();
#if HAS_MUTTER45
public signal void highest_scale_monitor_changed ();
#endif
public signal void position_changed ();
public signal void raised ();
public signal void shown ();
@ -984,11 +1116,19 @@ namespace Meta {
[CCode (has_construct_function = false)]
protected WindowActor ();
public void freeze ();
#if HAS_MUTTER45
public Cairo.Surface? get_image (Mtk.Rectangle? clip);
#else
public Cairo.Surface? get_image (Cairo.RectangleInt? clip);
#endif
public unowned Meta.Window? get_meta_window ();
public unowned Meta.ShapedTexture? get_texture ();
public bool is_destroyed ();
#if HAS_MUTTER45
public Clutter.Content? paint_to_content (Mtk.Rectangle? clip) throws GLib.Error;
#else
public Clutter.Content? paint_to_content (Meta.Rectangle? clip) throws GLib.Error;
#endif
public void sync_visibility ();
public void thaw ();
public Meta.Window meta_window { get; construct; }
@ -1022,8 +1162,13 @@ namespace Meta {
public void activate_with_focus (Meta.Window focus_this, uint32 timestamp);
public unowned Meta.Display get_display ();
public unowned Meta.Workspace get_neighbor (Meta.MotionDirection direction);
#if HAS_MUTTER45
public Mtk.Rectangle get_work_area_all_monitors ();
public Mtk.Rectangle get_work_area_for_monitor (int which_monitor);
#else
public Meta.Rectangle get_work_area_all_monitors ();
public Meta.Rectangle get_work_area_for_monitor (int which_monitor);
#endif
public int index ();
public GLib.List<weak Meta.Window> list_windows ();
public void set_builtin_struts (GLib.SList<Meta.Strut?> struts);
@ -1074,21 +1219,35 @@ namespace Meta {
public int error_trap_pop_with_return ();
[CCode (cheader_filename = "meta/meta-x11-errors.h", cname = "meta_x11_error_trap_push")]
public void error_trap_push ();
#if !HAS_MUTTER45
public int get_damage_event_base ();
public int get_screen_number ();
public int get_shape_event_base ();
#endif
public unowned X.Display get_xdisplay ();
#if !HAS_MUTTER45
public int get_xinput_opcode ();
#endif
public X.Window get_xroot ();
#if !HAS_MUTTER45
public bool has_shape ();
#endif
public unowned Meta.Group lookup_group (X.Window group_leader);
#if HAS_MUTTER45
public void redirect_windows (Meta.Display display);
public void remove_event_func (uint id);
#endif
#if !HAS_MUTTER45
public void set_cm_selection ();
#endif
public void set_stage_input_region (X.XserverRegion region);
#if !HAS_MUTTER44
[CCode (cheader_filename = "meta/meta-x11-display.h", cname = "meta_x11_init_gdk_display")]
public static bool x11_init_gdk_display () throws GLib.Error;
#endif
#if !HAS_MUTTER45
public bool xwindow_is_a_no_focus_window (X.Window xwindow);
#endif
}
[CCode (cheader_filename = "meta/meta-close-dialog.h", type_cname = "MetaCloseDialogInterface", type_id = "meta_close_dialog_get_type ()")]
public interface CloseDialog : GLib.Object {
@ -1123,7 +1282,11 @@ namespace Meta {
}
[CCode (cheader_filename = "meta/boxes.h", has_type_id = false)]
public struct Edge {
#if HAS_MUTTER45
public Mtk.Rectangle rect;
#else
public Meta.Rectangle rect;
#endif
public Meta.Side side_type;
public Meta.EdgeType edge_type;
}
@ -1157,6 +1320,7 @@ namespace Meta {
public weak string license;
public weak string description;
}
#if !HAS_MUTTER45
[CCode (cheader_filename = "meta/boxes.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "meta_rectangle_get_type ()")]
public struct Rectangle {
public int x;
@ -1175,6 +1339,7 @@ namespace Meta {
public Meta.Rectangle union (Meta.Rectangle rect2);
public bool vert_overlap (Meta.Rectangle rect2);
}
#endif
[CCode (cheader_filename = "meta/meta-shadow-factory.h", has_type_id = false)]
public struct ShadowParams {
public int radius;
@ -1185,7 +1350,11 @@ namespace Meta {
}
[CCode (cheader_filename = "meta/boxes.h", has_type_id = false)]
public struct Strut {
#if HAS_MUTTER45
public Mtk.Rectangle rect;
#else
public Meta.Rectangle rect;
#endif
public Meta.Side side;
}
#if HAS_MUTTER43
@ -1204,6 +1373,14 @@ namespace Meta {
NEGATIVE_X,
NEGATIVE_Y
}
#if HAS_MUTTER45
[CCode (cheader_filename = "meta/barrier.h", cprefix = "META_BARRIER_FLAG_", type_id = "meta_barrier_flags_get_type ()")]
[Flags]
public enum BarrierFlags {
NONE,
STICKY
}
#endif
[CCode (cheader_filename = "meta/common.h", cprefix = "META_BUTTON_FUNCTION_", type_id = "meta_button_function_get_type ()")]
public enum ButtonFunction {
MENU,
@ -1282,17 +1459,21 @@ namespace Meta {
RESIZING,
SHAPES,
EDGE_RESISTANCE,
DBUS,
INPUT,
WAYLAND,
KMS,
SCREEN_CAST,
REMOTE_DESKTOP,
BACKEND,
RENDER,
#if HAS_MUTTER43
COLOR,
#endif
DBUS;
#if HAS_MUTTER45
INPUT_EVENTS,
EIS,
#endif
RENDER;
[CCode (cheader_filename = "meta/util.h", cname = "meta_topic_to_string")]
public unowned string to_string ();
}
@ -1333,6 +1514,7 @@ namespace Meta {
SUCCESS,
ERROR
}
#if !HAS_MUTTER45
[CCode (cheader_filename = "meta/common.h", cprefix = "META_FRAME_", type_id = "meta_frame_flags_get_type ()")]
[Flags]
public enum FrameFlags {
@ -1353,6 +1535,7 @@ namespace Meta {
TILED_LEFT,
TILED_RIGHT
}
#endif
[CCode (cheader_filename = "meta/common.h", cprefix = "META_FRAME_TYPE_", type_id = "meta_frame_type_get_type ()")]
public enum FrameType {
NORMAL,
@ -1522,6 +1705,9 @@ namespace Meta {
IS_REVERSED,
NON_MASKABLE,
IGNORE_AUTOREPEAT,
#if HAS_MUTTER45
CUSTOM_TRIGGER,
#endif
NO_AUTO_GRAB
}
#if HAS_MUTTER43
@ -1584,12 +1770,42 @@ namespace Meta {
DOWN_LEFT,
DOWN_RIGHT
}
#if HAS_MUTTER45
[CCode (cheader_filename = "meta/meta-multi-texture-format.h", cprefix = "META_MULTI_TEXTURE_FORMAT_", type_id = "meta_multi_texture_format_get_type ()")]
public enum MultiTextureFormat {
INVALID,
SIMPLE,
YUYV,
NV12,
YUV420
}
[CCode (cheader_filename = "meta/display.h", cprefix = "META_PAD_DIRECTION_", type_id = "meta_pad_direction_get_type ()")]
public enum PadDirection {
UP,
DOWN,
CW,
CCW
}
[CCode (cheader_filename = "meta/display.h", cprefix = "META_PAD_FEATURE_", type_id = "meta_pad_feature_type_get_type ()")]
public enum PadFeatureType {
RING,
STRIP
}
#else
[CCode (cheader_filename = "meta/display.h", cprefix = "META_PAD_ACTION_", type_id = "meta_pad_action_type_get_type ()")]
public enum PadActionType {
BUTTON,
RING,
STRIP
}
#endif
#if HAS_MUTTER45
[CCode (cheader_filename = "meta/meta-monitor-manager.h", cprefix = "META_POWER_SAVE_CHANGE_REASON_", type_id = "meta_power_save_change_reason_get_type ()")]
public enum PowerSaveChangeReason {
MODE_CHANGE,
HOTPLUG
}
#endif
[CCode (cheader_filename = "meta/prefs.h", cprefix = "META_PREF_", type_id = "meta_preference_get_type ()")]
public enum Preference {
MOUSE_BUTTON_MODS,
@ -1603,7 +1819,9 @@ namespace Meta {
AUTO_RAISE,
AUTO_RAISE_DELAY,
FOCUS_CHANGE_ON_POINTER_REST,
#if !HAS_MUTTER45
TITLEBAR_FONT,
#endif
NUM_WORKSPACES,
DYNAMIC_WORKSPACES,
KEYBINDINGS,

View File

@ -219,3 +219,88 @@ if mutter44_dep.found()
output: 'libmutter-12.vapi'
)
endif
if mutter45_dep.found()
mtk_target = custom_target('mutter-mtk-13',
command: [
vapigen,
mutter_typelib_dir / 'Mtk-13.gir',
'--library=mutter-mtk-13',
'--pkg=gobject-2.0',
'--pkg=gio-2.0',
'--pkg=cairo',
'--pkg=graphene-gobject-1.0',
vapigen_args
],
output: 'mutter-mtk-13.vapi'
)
cogl_target = custom_target('mutter-cogl-13',
command: [
vapigen,
mutter_typelib_dir / 'Cogl-13.gir',
'--library=mutter-cogl-13',
'--pkg=gobject-2.0',
'--pkg=gio-2.0',
'--pkg=cairo',
'--pkg=graphene-gobject-1.0',
vapigen_args,
files('Cogl-13-custom.vala')
],
output: 'mutter-cogl-13.vapi'
)
cogl_pango_target = custom_target('mutter-cogl-pango-13',
command: [
vapigen,
mutter_typelib_dir / 'CoglPango-13.gir',
'--library=mutter-cogl-pango-13',
'--pkg=mutter-cogl-13',
'--pkg=pangocairo',
'--pkg=gio-2.0',
'--pkg=glib-2.0',
vapigen_args
],
depends: cogl_target,
output: 'mutter-cogl-pango-13.vapi'
)
clutter_target = custom_target('mutter-clutter-13',
command: [
vapigen,
mutter_typelib_dir / 'Clutter-13.gir',
'--library=mutter-clutter-13',
'--pkg=graphene-gobject-1.0',
'--pkg=mutter-cogl-13',
'--pkg=mutter-cogl-pango-13',
'--pkg=mutter-mtk-13',
'--pkg=atk',
'--pkg=gio-2.0',
'--pkg=json-glib-1.0',
'--pkg=pangocairo',
vapigen_args,
files('Clutter-13-custom.vala')
],
depends: [ cogl_target, cogl_pango_target, mtk_target ],
output: 'mutter-clutter-13.vapi'
)
libmutter_target = custom_target('libmutter-13',
command: [
vapigen,
mutter_typelib_dir / 'Meta-13.gir',
'--library=libmutter-13',
'--pkg=graphene-gobject-1.0',
'--pkg=mutter-cogl-13',
'--pkg=mutter-cogl-pango-13',
'--pkg=mutter-clutter-13',
'--pkg=atk',
'--pkg=gio-2.0',
'--pkg=json-glib-1.0',
'--pkg=pangocairo',
'--pkg=x11',
'--pkg=xfixes-4.0',
vapigen_args
],
depends: [ cogl_target, cogl_pango_target, clutter_target ],
output: 'libmutter-13.vapi'
)
endif

View File

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

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

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

View File

@ -4822,6 +4822,9 @@ namespace Clutter {
public unowned Clutter.Actor? get_previous_sibling ();
[Version (since = "0.6")]
public bool get_reactive ();
#if HAS_MUTTER45
public Graphene.Matrix get_relative_transformation_matrix (Clutter.Actor? ancestor);
#endif
[Version (since = "1.2")]
public Clutter.RequestMode get_request_mode ();
public float get_resource_scale ();
@ -4911,6 +4914,9 @@ namespace Clutter {
public void move_by (float dx, float dy);
[Version (since = "1.12")]
public bool needs_expand (Clutter.Orientation orientation);
#if HAS_MUTTER45
public void notify_transform_invalid ();
#endif
public virtual void paint (Clutter.PaintContext paint_context);
[NoWrapper]
public virtual void paint_node (Clutter.PaintNode root);
@ -4918,7 +4924,11 @@ namespace Clutter {
public void pick_box (Clutter.PickContext pick_context, Clutter.ActorBox box);
public void queue_redraw ();
[Version (since = "1.10")]
#if HAS_MUTTER45
public void queue_redraw_with_clip (Mtk.Rectangle? clip);
#else
public void queue_redraw_with_clip (Cairo.RectangleInt? clip);
#endif
[Version (since = "1.4")]
public void remove_action (Clutter.Action action);
[Version (since = "1.4")]
@ -5219,17 +5229,26 @@ namespace Clutter {
public bool y_expand { get; set; }
[Version (since = "1.12")]
public float z_position { get; set; }
#if HAS_MUTTER45
public virtual signal bool button_press_event (Clutter.Event event);
public virtual signal bool button_release_event (Clutter.Event event);
#else
[Version (since = "0.6")]
public virtual signal bool button_press_event (Clutter.ButtonEvent event);
[Version (since = "0.6")]
public virtual signal bool button_release_event (Clutter.ButtonEvent event);
#endif
[Version (since = "0.6")]
public virtual signal bool captured_event (Clutter.Event event);
[HasEmitter]
[Version (since = "0.2")]
public virtual signal void destroy ();
#if HAS_MUTTER45
public virtual signal bool enter_event (Clutter.Event event);
#else
[Version (since = "0.6")]
public virtual signal bool enter_event (Clutter.CrossingEvent event);
#endif
[Version (since = "0.6")]
public virtual signal bool event (Clutter.Event event);
[HasEmitter]
@ -5239,6 +5258,12 @@ namespace Clutter {
public virtual signal void key_focus_in ();
[Version (since = "0.6")]
public virtual signal void key_focus_out ();
#if HAS_MUTTER45
public virtual signal bool key_press_event (Clutter.Event event);
public virtual signal bool key_release_event (Clutter.Event event);
public virtual signal bool leave_event (Clutter.Event event);
public virtual signal bool motion_event (Clutter.Event event);
#else
[Version (since = "0.6")]
public virtual signal bool key_press_event (Clutter.KeyEvent event);
[Version (since = "0.6")]
@ -5247,6 +5272,7 @@ namespace Clutter {
public virtual signal bool leave_event (Clutter.CrossingEvent event);
[Version (since = "0.6")]
public virtual signal bool motion_event (Clutter.MotionEvent event);
#endif
[Version (since = "0.2")]
public virtual signal void parent_set (Clutter.Actor? old_parent);
[Version (since = "1.0")]
@ -5259,8 +5285,12 @@ namespace Clutter {
[Version (deprecated = true, deprecated_since = "1.16", since = "0.8")]
public virtual signal void realize ();
public virtual signal void resource_scale_changed ();
#if HAS_MUTTER45
public virtual signal bool scroll_event (Clutter.Event event);
#else
[Version (since = "0.6")]
public virtual signal bool scroll_event (Clutter.ScrollEvent event);
#endif
[HasEmitter]
[Version (since = "0.2")]
public virtual signal void show ();
@ -5318,6 +5348,7 @@ namespace Clutter {
[Compact]
[Version (since = "0.2")]
public class AnyEvent : Clutter.Event {
#if !HAS_MUTTER45
public Clutter.EventFlags flags;
#if !HAS_MUTTER43
public weak Clutter.Actor source;
@ -5325,6 +5356,7 @@ namespace Clutter {
public weak Clutter.Stage stage;
public uint32 time;
public Clutter.EventType type;
#endif
}
[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_backend_get_type ()")]
[Version (since = "0.4")]
@ -5340,7 +5372,7 @@ namespace Clutter {
public double get_resolution ();
[Version (since = "0.8")]
public void set_font_options (Cairo.FontOptions options);
public void set_input_method (Clutter.InputMethod method);
public void set_input_method (Clutter.InputMethod? method);
[Version (since = "1.0")]
public signal void font_changed ();
[Version (since = "1.0")]
@ -5420,22 +5452,28 @@ namespace Clutter {
public bool get_homogeneous ();
[Version (since = "1.12")]
public Clutter.Orientation get_orientation ();
#if !HAS_MUTTER45
[Version (deprecated = true)]
public bool get_pack_start ();
#endif
public uint get_spacing ();
[Version (since = "1.4")]
public void set_homogeneous (bool homogeneous);
[Version (since = "1.12")]
public void set_orientation (Clutter.Orientation orientation);
#if !HAS_MUTTER45
[Version (deprecated = true)]
public void set_pack_start (bool pack_start);
#endif
public void set_spacing (uint spacing);
[Version (since = "1.4")]
public bool homogeneous { get; set; }
[Version (since = "1.12")]
public Clutter.Orientation orientation { get; set; }
#if !HAS_MUTTER45
[Version (deprecated = true)]
public bool pack_start { get; set; }
#endif
public uint spacing { get; set; }
}
[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_brightness_contrast_effect_get_type ()")]
@ -5458,6 +5496,7 @@ namespace Clutter {
[Compact]
[Version (since = "0.2")]
public class ButtonEvent : Clutter.Event {
#if !HAS_MUTTER45
public double axes;
public uint32 button;
public weak Clutter.InputDevice device;
@ -5472,6 +5511,7 @@ namespace Clutter {
public Clutter.EventType type;
public float x;
public float y;
#endif
}
[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_canvas_get_type ()")]
[Version (since = "1.10")]
@ -5580,6 +5620,7 @@ namespace Clutter {
[Compact]
[Version (since = "0.2")]
public class CrossingEvent : Clutter.Event {
#if !HAS_MUTTER45
public weak Clutter.InputDevice device;
public Clutter.EventFlags flags;
public weak Clutter.Actor related;
@ -5592,6 +5633,7 @@ namespace Clutter {
public Clutter.EventType type;
public float x;
public float y;
#endif
}
[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_deform_effect_get_type ()")]
[Version (since = "1.4")]
@ -5622,6 +5664,7 @@ namespace Clutter {
[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
[Compact]
public class DeviceEvent : Clutter.Event {
#if !HAS_MUTTER45
public weak Clutter.InputDevice device;
public Clutter.EventFlags flags;
#if !HAS_MUTTER43
@ -5630,6 +5673,7 @@ namespace Clutter {
public weak Clutter.Stage stage;
public uint32 time;
public Clutter.EventType type;
#endif
}
[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_effect_get_type ()")]
[Version (since = "1.4")]
@ -5655,7 +5699,9 @@ namespace Clutter {
[Compact]
[Version (since = "0.2")]
public class Event {
#if !HAS_MUTTER45
public Clutter.EventType type;
#endif
[CCode (has_construct_function = false)]
public Event (Clutter.EventType type);
[Version (since = "1.18")]
@ -5693,18 +5739,32 @@ namespace Clutter {
public double get_gesture_pinch_angle_delta ();
[Version (since = "1.24")]
public double get_gesture_pinch_scale ();
#if HAS_MUTTER45
public uint32 get_im_delete_length ();
public bool get_im_location (int32 offset, int32 anchor);
public Clutter.PreeditResetMode get_im_preedit_reset_mode ();
public unowned string get_im_text ();
#endif
[Version (since = "1.0")]
public uint16 get_key_code ();
[Version (since = "1.0")]
public uint get_key_symbol ();
public unichar get_key_unicode ();
public uint get_mode_group ();
#if HAS_MUTTER45
public bool get_pad_details (out uint number, out uint mode, out Clutter.InputDevicePadSource source, out double value);
#else
public bool get_pad_event_details (out uint number, out uint mode, out double value);
#endif
[Version (since = "1.12")]
public Graphene.Point get_position ();
[Version (since = "1.0")]
public unowned Clutter.Actor get_related ();
#if HAS_MUTTER45
public bool get_relative_motion (double dx, double dy, double dx_unaccel, double dy_unaccel, double dx_constrained, double dy_constrained);
#else
public bool get_relative_motion (double dx, double dy, double dx_unaccel, double dy_unaccel);
#endif
[Version (since = "1.10")]
public void get_scroll_delta (out double dx, out double dy);
[Version (since = "1.0")]
@ -5717,12 +5777,16 @@ namespace Clutter {
public unowned Clutter.Actor get_source ();
[Version (since = "1.6")]
public unowned Clutter.InputDevice get_source_device ();
#if !HAS_MUTTER45
[Version (since = "0.8")]
public unowned Clutter.Stage get_stage ();
#endif
[Version (since = "0.4")]
public Clutter.ModifierType get_state ();
#if !HAS_MUTTER45
[Version (since = "1.16")]
public void get_state_full (out Clutter.ModifierType button_state, out Clutter.ModifierType base_state, out Clutter.ModifierType latched_state, out Clutter.ModifierType locked_state, out Clutter.ModifierType effective_state);
#endif
[Version (since = "0.4")]
public uint32 get_time ();
public int64 get_time_us ();
@ -5740,6 +5804,7 @@ namespace Clutter {
public void put ();
[Version (since = "1.18")]
public static void remove_filter (uint id);
#if !HAS_MUTTER45
[Version (since = "1.8")]
public void set_button (uint32 button);
[Version (since = "1.8")]
@ -5772,6 +5837,7 @@ namespace Clutter {
public void set_state (Clutter.ModifierType state);
[Version (since = "1.8")]
public void set_time (uint32 time_);
#endif
}
[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_event_sequence_get_type ()")]
[Compact]
@ -5830,6 +5896,9 @@ namespace Clutter {
public class Frame {
#if HAS_MUTTER44
public int64 get_count ();
#if HAS_MUTTER45
public bool get_min_render_time_allowed (int64 min_render_time_allowed_us);
#endif
public bool get_target_presentation_time (int64 target_presentation_time_us);
#endif
public bool has_result ();
@ -5949,6 +6018,7 @@ namespace Clutter {
[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
[Compact]
public class IMEvent : Clutter.Event {
#if !HAS_MUTTER45
#if HAS_MUTTER44
public int32 anchor;
#endif
@ -5963,6 +6033,7 @@ namespace Clutter {
public weak string text;
public uint32 time;
public Clutter.EventType type;
#endif
}
[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_image_get_type ()")]
[Version (since = "1.10")]
@ -5970,7 +6041,11 @@ namespace Clutter {
[CCode (has_construct_function = false, type = "ClutterContent*")]
public Image ();
public unowned Cogl.Texture get_texture ();
#if HAS_MUTTER45
public bool set_area ([CCode (array_length = false)] uint8[] data, Cogl.PixelFormat pixel_format, Mtk.Rectangle rect, uint row_stride) throws GLib.Error;
#else
public bool set_area ([CCode (array_length = false)] uint8[] data, Cogl.PixelFormat pixel_format, Cairo.RectangleInt rect, uint row_stride) throws GLib.Error;
#endif
[Version (since = "1.12")]
public bool set_bytes (GLib.Bytes data, Cogl.PixelFormat pixel_format, uint width, uint height, uint row_stride) throws GLib.Error;
public bool set_data ([CCode (array_length = false)] uint8[] data, Cogl.PixelFormat pixel_format, uint width, uint height, uint row_stride) throws GLib.Error;
@ -6070,6 +6145,9 @@ namespace Clutter {
[NoWrapper]
public virtual void focus_out ();
public bool is_focused ();
#if HAS_MUTTER45
public bool process_event (Clutter.Event event);
#endif
[NoWrapper]
public virtual void request_surrounding ();
public void reset ();
@ -6167,6 +6245,7 @@ namespace Clutter {
[Compact]
[Version (since = "0.2")]
public class KeyEvent : Clutter.Event {
#if !HAS_MUTTER45
public weak Clutter.InputDevice device;
public uint32 evdev_code;
public Clutter.EventFlags flags;
@ -6180,6 +6259,7 @@ namespace Clutter {
public uint32 time;
public Clutter.EventType type;
public unichar unicode_value;
#endif
}
[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_keyframe_transition_get_type ()")]
[Version (since = "1.12")]
@ -6249,6 +6329,7 @@ namespace Clutter {
[Compact]
[Version (since = "0.2")]
public class MotionEvent : Clutter.Event {
#if !HAS_MUTTER45
public double axes;
public weak Clutter.InputDevice device;
public double dx;
@ -6266,6 +6347,7 @@ namespace Clutter {
public Clutter.EventType type;
public float x;
public float y;
#endif
}
[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_offscreen_effect_get_type ()")]
[Version (since = "1.4")]
@ -6283,6 +6365,7 @@ namespace Clutter {
[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
[Compact]
public class PadButtonEvent : Clutter.Event {
#if !HAS_MUTTER45
public uint32 button;
public weak Clutter.InputDevice device;
public Clutter.EventFlags flags;
@ -6294,10 +6377,12 @@ namespace Clutter {
public weak Clutter.Stage stage;
public uint32 time;
public Clutter.EventType type;
#endif
}
[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
[Compact]
public class PadRingEvent : Clutter.Event {
#if !HAS_MUTTER45
public double angle;
public weak Clutter.InputDevice device;
public Clutter.EventFlags flags;
@ -6311,10 +6396,12 @@ namespace Clutter {
public weak Clutter.Stage stage;
public uint32 time;
public Clutter.EventType type;
#endif
}
[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
[Compact]
public class PadStripEvent : Clutter.Event {
#if !HAS_MUTTER45
public weak Clutter.InputDevice device;
public Clutter.EventFlags flags;
public uint32 group;
@ -6328,6 +6415,7 @@ namespace Clutter {
public uint32 time;
public Clutter.EventType type;
public double value;
#endif
}
[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_page_turn_effect_get_type ()")]
[Version (since = "1.4")]
@ -6355,7 +6443,7 @@ namespace Clutter {
public unowned Clutter.PaintContext @ref ();
public void unref ();
}
[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_paint_node_get_type ()")]
[CCode (cheader_filename = "clutter/clutter.h", ref_function = "clutter_paint_node_ref", type_id = "clutter_paint_node_get_type ()", unref_function = "clutter_paint_node_unref")]
[Version (since = "1.10")]
public abstract class PaintNode {
[CCode (has_construct_function = false)]
@ -6410,7 +6498,9 @@ namespace Clutter {
public class Path : GLib.InitiallyUnowned {
[CCode (has_construct_function = false)]
public Path ();
#if !HAS_MUTTER45
public void add_cairo_path (Cairo.Path cpath);
#endif
public void add_close ();
public void add_curve_to (int x_1, int y_1, int x_2, int y_2, int x_3, int y_3);
public void add_line_to (int x, int y);
@ -6432,7 +6522,9 @@ namespace Clutter {
public void remove_node (uint index_);
public void replace_node (uint index_, Clutter.PathNode node);
public bool set_description (string str);
#if !HAS_MUTTER45
public void to_cairo_path (Cairo.Context cr);
#endif
[CCode (has_construct_function = false)]
public Path.with_description (string desc);
public string description { owned get; set; }
@ -6486,6 +6578,7 @@ namespace Clutter {
[Compact]
[Version (since = "1.28")]
public class ProximityEvent : Clutter.Event {
#if !HAS_MUTTER45
public weak Clutter.InputDevice device;
public Clutter.EventFlags flags;
#if !HAS_MUTTER43
@ -6494,6 +6587,7 @@ namespace Clutter {
public weak Clutter.Stage stage;
public uint32 time;
public Clutter.EventType type;
#endif
}
[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_root_node_get_type ()")]
public class RootNode : Clutter.PaintNode {
@ -6555,6 +6649,7 @@ namespace Clutter {
[Compact]
[Version (since = "0.2")]
public class ScrollEvent : Clutter.Event {
#if !HAS_MUTTER45
public double axes;
public weak Clutter.InputDevice device;
public Clutter.ScrollDirection direction;
@ -6570,6 +6665,7 @@ namespace Clutter {
public Clutter.EventType type;
public float x;
public float y;
#endif
}
[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_seat_get_type ()")]
public abstract class Seat : GLib.Object {
@ -6580,6 +6676,9 @@ namespace Clutter {
public void ensure_a11y_state ();
public virtual unowned Clutter.InputDevice get_keyboard ();
public virtual unowned Clutter.Keymap get_keymap ();
#if HAS_MUTTER45
public unowned string get_name ();
#endif
public virtual unowned Clutter.InputDevice get_pointer ();
public void get_pointer_a11y_settings (Clutter.PointerA11ySettings settings);
public bool get_touch_mode ();
@ -6587,15 +6686,22 @@ namespace Clutter {
public virtual Clutter.GrabState grab (uint32 time);
public virtual bool handle_event_post (Clutter.Event event);
public void inhibit_unfocus ();
#if HAS_MUTTER45
[NoWrapper]
public virtual void init_pointer_position (float x, float y);
#endif
public bool is_unfocus_inhibited ();
public GLib.List<weak Clutter.InputDevice> list_devices ();
public virtual bool query_state (Clutter.InputDevice device, Clutter.EventSequence sequence, Graphene.Point coords, Clutter.ModifierType modifiers);
public virtual bool query_state (Clutter.InputDevice device, Clutter.EventSequence? sequence, out Graphene.Point coords, out Clutter.ModifierType modifiers);
public void set_pointer_a11y_dwell_click_type (Clutter.PointerA11yDwellClickType click_type);
public void set_pointer_a11y_settings (Clutter.PointerA11ySettings settings);
[NoWrapper]
public virtual void ungrab (uint32 time);
public void uninhibit_unfocus ();
public virtual void warp_pointer (int x, int y);
#if HAS_MUTTER45
public string name { get; construct; }
#endif
public bool touch_mode { get; }
public signal void device_added (Clutter.InputDevice object);
public signal void device_removed (Clutter.InputDevice object);
@ -6612,9 +6718,11 @@ namespace Clutter {
[CCode (has_construct_function = false)]
protected Settings ();
public static unowned Clutter.Settings get_default ();
#if !HAS_MUTTER45
[NoAccessorMethod]
[Version (deprecated = true, deprecated_since = "1.10", since = "1.4")]
public Clutter.Backend backend { construct; }
#endif
[NoAccessorMethod]
[Version (since = "1.8")]
public int dnd_drag_threshold { get; set; }
@ -6701,15 +6809,25 @@ namespace Clutter {
public class Stage : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
[CCode (has_construct_function = false)]
protected Stage ();
#if HAS_MUTTER45
public void capture_view_into (Clutter.StageView view, Mtk.Rectangle rect, uint8 data, int stride);
#else
public void capture_view_into (Clutter.StageView view, Cairo.RectangleInt rect, uint8 data, int stride);
#endif
public void clear_stage_views ();
#if !HAS_MUTTER45
[CCode (cname = "clutter_stage_event")]
[Version (since = "0.4")]
public bool emit_event (Clutter.Event event);
#endif
[Version (since = "1.0")]
public void ensure_viewport ();
public unowned Clutter.Actor get_actor_at_pos (Clutter.PickMode pick_mode, float x, float y);
#if HAS_MUTTER45
public bool get_capture_final_size (Mtk.Rectangle rect, out int out_width, out int out_height, out float out_scale);
#else
public bool get_capture_final_size (Cairo.RectangleInt rect, out int out_width, out int out_height, out float out_scale);
#endif
public unowned Clutter.Actor? get_device_actor (Clutter.InputDevice device, Clutter.EventSequence? sequence);
#if HAS_MUTTER43
public unowned Clutter.Actor? get_event_actor (Clutter.Event event);
@ -6726,9 +6844,19 @@ namespace Clutter {
[Version (since = "0.4")]
public unowned string get_title ();
public Clutter.Grab grab (Clutter.Actor actor);
#if HAS_MUTTER45
public void handle_event (Clutter.Event event);
#endif
#if HAS_MUTTER45
public bool paint_to_buffer (Mtk.Rectangle rect, float scale, [CCode (array_length = false)] uint8[] data, int stride, Cogl.PixelFormat format, Clutter.PaintFlag paint_flags) throws GLib.Error;
public Clutter.Content paint_to_content (Mtk.Rectangle rect, float scale, Clutter.PaintFlag paint_flags) throws GLib.Error;
public void paint_to_framebuffer (Cogl.Framebuffer framebuffer, Mtk.Rectangle rect, float scale, Clutter.PaintFlag paint_flags);
public bool pointing_input_foreach (Clutter.StageInputForeachFunc func);
#else
public bool paint_to_buffer (Cairo.RectangleInt rect, float scale, [CCode (array_length = false)] uint8[] data, int stride, Cogl.PixelFormat format, Clutter.PaintFlag paint_flags) throws GLib.Error;
public Clutter.Content paint_to_content (Cairo.RectangleInt rect, float scale, Clutter.PaintFlag paint_flags) throws GLib.Error;
public void paint_to_framebuffer (Cogl.Framebuffer framebuffer, Cairo.RectangleInt rect, float scale, Clutter.PaintFlag paint_flags);
#endif
[CCode (array_length = false)]
public uint8[] read_pixels (int x, int y, int width = -1, int height = -1);
public void repick_device (Clutter.InputDevice device);
@ -6747,6 +6875,10 @@ namespace Clutter {
public void update_device (Clutter.InputDevice device, Clutter.EventSequence sequence, Clutter.InputDevice source_device, Graphene.Point point, uint32 time, Clutter.Actor new_actor, Cairo.Region region, bool emit_crossing);
#else
public void update_device (Clutter.InputDevice device, Clutter.EventSequence sequence, Graphene.Point point, uint32 time, Clutter.Actor new_actor, Cairo.Region region, bool emit_crossing);
#endif
#if HAS_MUTTER45
[NoAccessorMethod]
public bool is_grabbed { get; }
#endif
[Version (since = "1.2")]
public Clutter.Actor key_focus { get; set; }
@ -6768,6 +6900,9 @@ namespace Clutter {
public virtual signal void before_paint (Clutter.StageView view);
public signal void before_update (Clutter.StageView view);
#endif
#if HAS_MUTTER45
public virtual signal void deactivate ();
#endif
#if HAS_MUTTER44
public virtual signal void paint_view (Clutter.StageView view, Cairo.Region redraw_clip, Clutter.Frame frame);
public signal void prepare_frame (Clutter.StageView view, Clutter.Frame frame);
@ -6804,9 +6939,17 @@ namespace Clutter {
[CCode (has_construct_function = false)]
protected StageView ();
public void assign_next_scanout (Cogl.Scanout scanout);
#if HAS_MUTTER45
public virtual Clutter.PaintFlag get_default_paint_flags ();
#else
public void destroy ();
#endif
public unowned Cogl.Framebuffer get_framebuffer ();
#if HAS_MUTTER45
public void get_layout (Mtk.Rectangle rect);
#else
public void get_layout (Cairo.RectangleInt rect);
#endif
public virtual void get_offscreen_transformation_matrix (Graphene.Matrix matrix);
public unowned Cogl.Framebuffer get_onscreen ();
public float get_refresh_rate ();
@ -6815,10 +6958,19 @@ namespace Clutter {
public bool has_shadowfb ();
#endif
public void invalidate_offscreen_blit_pipeline ();
#if HAS_MUTTER45
[NoWrapper]
public virtual Clutter.Frame new_frame ();
public void schedule_update_now ();
#endif
[NoWrapper]
public virtual void setup_offscreen_blit_pipeline (Cogl.Pipeline pipeline);
[NoWrapper]
#if HAS_MUTTER45
public virtual void transform_rect_to_onscreen (Mtk.Rectangle src_rect, int dst_width, int dst_height, Mtk.Rectangle dst_rect);
#else
public virtual void transform_rect_to_onscreen (Cairo.RectangleInt src_rect, int dst_width, int dst_height, Cairo.RectangleInt dst_rect);
#endif
[NoAccessorMethod]
public Cogl.Framebuffer framebuffer { owned get; set construct; }
[NoAccessorMethod]
@ -6835,6 +6987,10 @@ namespace Clutter {
public bool use_shadowfb { get; construct; }
[NoAccessorMethod]
public int64 vblank_duration_us { get; construct; }
#if HAS_MUTTER45
[HasEmitter]
public signal void destroy ();
#endif
}
[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_swipe_action_get_type ()")]
[Version (since = "1.8")]
@ -7034,8 +7190,13 @@ namespace Clutter {
public sealed class TextureContent : GLib.Object, Clutter.Content {
[CCode (has_construct_function = false)]
protected TextureContent ();
[CCode (has_construct_function = false, type = "ClutterContent*")]
#if HAS_MUTTER45
public TextureContent.from_texture (Cogl.Texture texture, Mtk.Rectangle? clip);
#else
public TextureContent.from_texture (Cogl.Texture texture, Cairo.RectangleInt? clip);
#endif
public unowned Cogl.Texture get_texture ();
public static Clutter.Content new_from_texture (Cogl.Texture texture, Cairo.RectangleInt? clip);
}
[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_texture_node_get_type ()")]
[Version (since = "1.10")]
@ -7147,6 +7308,7 @@ namespace Clutter {
[Compact]
[Version (since = "1.10")]
public class TouchEvent : Clutter.Event {
#if !HAS_MUTTER45
public double axes;
public weak Clutter.InputDevice device;
public Clutter.EventFlags flags;
@ -7160,10 +7322,12 @@ namespace Clutter {
public Clutter.EventType type;
public float x;
public float y;
#endif
}
[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
[Compact]
public class TouchpadHoldEvent : Clutter.Event {
#if !HAS_MUTTER45
public Clutter.EventFlags flags;
public uint32 n_fingers;
public Clutter.TouchpadGesturePhase phase;
@ -7175,11 +7339,13 @@ namespace Clutter {
public Clutter.EventType type;
public float x;
public float y;
#endif
}
[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
[Compact]
[Version (since = "1.24")]
public class TouchpadPinchEvent : Clutter.Event {
#if !HAS_MUTTER45
public float angle_delta;
public float dx;
public float dx_unaccel;
@ -7197,11 +7363,13 @@ namespace Clutter {
public Clutter.EventType type;
public float x;
public float y;
#endif
}
[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
[Compact]
[Version (since = "1.24")]
public class TouchpadSwipeEvent : Clutter.Event {
#if !HAS_MUTTER45
public float dx;
public float dx_unaccel;
public float dy;
@ -7217,6 +7385,7 @@ namespace Clutter {
public Clutter.EventType type;
public float x;
public float y;
#endif
}
[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_transform_node_get_type ()")]
public class TransformNode : Clutter.PaintNode {
@ -7415,7 +7584,11 @@ namespace Clutter {
[CCode (cheader_filename = "clutter/clutter.h", has_copy_function = false, has_destroy_function = false, has_type_id = false)]
public struct Capture {
public Cairo.ImageSurface image;
#if HAS_MUTTER45
public Mtk.Rectangle rect;
#else
public Cairo.RectangleInt rect;
#endif
}
[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_color_get_type ()")]
public struct Color {
@ -7739,9 +7912,13 @@ namespace Clutter {
PICK,
EVENTLOOP,
CLIPPING,
OOB_TRANSFORMS,
FRAME_TIMINGS,
DETAILED_TRACE,
OOB_TRANSFORMS
#if HAS_MUTTER45
GRABS,
FRAME_CLOCK,
#endif
DETAILED_TRACE
}
[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_DRAG_", type_id = "clutter_drag_axis_get_type ()")]
[Version (since = "1.4")]
@ -7761,9 +7938,9 @@ namespace Clutter {
DISABLE_OFFSCREEN_REDIRECT,
CONTINUOUS_REDRAW,
PAINT_DEFORM_TILES,
PAINT_DAMAGE_REGION,
DISABLE_DYNAMIC_MAX_RENDER_TIME,
PAINT_MAX_RENDER_TIME,
PAINT_DAMAGE_REGION
PAINT_MAX_RENDER_TIME
}
[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_EFFECT_PAINT_", type_id = "clutter_effect_paint_flags_get_type ()")]
[Flags]
@ -7778,9 +7955,12 @@ namespace Clutter {
NONE,
FLAG_SYNTHETIC,
FLAG_INPUT_METHOD,
FLAG_REPEATED,
FLAG_RELATIVE_MOTION,
FLAG_GRAB_NOTIFY,
FLAG_REPEATED
#if HAS_MUTTER45
FLAG_POINTER_EMULATED,
#endif
FLAG_GRAB_NOTIFY
}
[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_PHASE_", type_id = "clutter_event_phase_get_type ()")]
public enum EventPhase {
@ -7861,6 +8041,7 @@ namespace Clutter {
KEYBOARD,
ALL
}
#if !HAS_MUTTER45
[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_GRAVITY_", type_id = "clutter_gravity_get_type ()")]
[Version (deprecated = true, deprecated_since = "1.22", since = "0.2")]
public enum Gravity {
@ -7875,6 +8056,7 @@ namespace Clutter {
NORTH_WEST,
CENTER
}
#endif
[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_GRID_POSITION_", type_id = "clutter_grid_position_get_type ()")]
[Version (since = "1.12")]
public enum GridPosition {
@ -8011,12 +8193,14 @@ namespace Clutter {
ON,
TOGGLE
}
#if !HAS_MUTTER45
[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_INTERPOLATION_", type_id = "clutter_interpolation_get_type ()")]
[Version (deprecated = true, deprecated_since = "1.22", since = "1.2")]
public enum Interpolation {
LINEAR,
CUBIC
}
#endif
[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_KEY_STATE_", type_id = "clutter_key_state_get_type ()")]
public enum KeyState {
RELEASED,
@ -8071,8 +8255,8 @@ namespace Clutter {
[Version (since = "1.8")]
public enum OffscreenRedirect {
AUTOMATIC_FOR_OPACITY,
ON_IDLE,
ALWAYS
ALWAYS,
ON_IDLE
}
[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_ORIENTATION_", type_id = "clutter_orientation_get_type ()")]
[Version (since = "1.12")]
@ -8179,12 +8363,14 @@ namespace Clutter {
Y_AXIS,
Z_AXIS
}
#if !HAS_MUTTER45
[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_ROTATE_", type_id = "clutter_rotate_direction_get_type ()")]
[Version (deprecated = true, deprecated_since = "1.22", since = "0.4")]
public enum RotateDirection {
CW,
CCW
}
#endif
[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_SCALING_FILTER_", type_id = "clutter_scaling_filter_get_type ()")]
[Version (since = "1.10")]
public enum ScalingFilter {
@ -8311,6 +8497,7 @@ namespace Clutter {
LTR,
RTL
}
#if !HAS_MUTTER45
[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_TEXTURE_", type_id = "clutter_texture_flags_get_type ()")]
[Flags]
[Version (deprecated = true, deprecated_since = "1.22", since = "0.4")]
@ -8327,6 +8514,7 @@ namespace Clutter {
MEDIUM,
HIGH
}
#endif
[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_TIMELINE_", type_id = "clutter_timeline_direction_get_type ()")]
[Version (since = "0.6")]
public enum TimelineDirection {
@ -8400,12 +8588,18 @@ namespace Clutter {
[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 6.9)]
[Version (since = "0.6")]
public delegate void ScriptConnectFunc (Clutter.Script script, GLib.Object object, string signal_name, string handler_name, GLib.Object connect_object, GLib.ConnectFlags flags);
#if HAS_MUTTER45
[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 3.9)]
public delegate bool StageInputForeachFunc (Clutter.Stage stage, Clutter.InputDevice device, Clutter.EventSequence sequence);
#endif
[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 3.9)]
[Version (since = "1.10")]
public delegate double TimelineProgressFunc (Clutter.Timeline timeline, double elapsed, double total);
#if !HAS_MUTTER45
[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_COGL")]
[Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
public const string COGL;
#endif
[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_CURRENT_TIME")]
[Version (since = "0.4")]
public const int CURRENT_TIME;
@ -8415,9 +8609,11 @@ namespace Clutter {
[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_EVENT_STOP")]
[Version (since = "1.10")]
public const bool EVENT_STOP;
#if !HAS_MUTTER45
[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_FLAVOUR")]
[Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
public const string FLAVOUR;
#endif
[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_PATH_RELATIVE")]
public const int PATH_RELATIVE;
[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_PRIORITY_REDRAW")]
@ -8434,9 +8630,11 @@ namespace Clutter {
[CCode (cheader_filename = "clutter/clutter.h")]
[Version (since = "1.14")]
public static void disable_accessibility ();
#if !HAS_MUTTER45
[CCode (cheader_filename = "clutter/clutter.h")]
[Version (since = "0.4")]
public static void do_event (Clutter.Event event);
#endif
[CCode (cheader_filename = "clutter/clutter.h")]
[Version (since = "0.4")]
public static bool events_pending ();

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

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

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

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

View File

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

View File

@ -207,7 +207,7 @@ namespace Cogl {
[CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_is_texture")]
public bool is_texture ();
}
[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_object_get_gtype ()")]
[CCode (cheader_filename = "cogl/cogl.h", ref_function = "cogl_object_ref", type_id = "cogl_object_get_gtype ()", unref_function = "cogl_object_unref")]
public abstract class Object {
[CCode (has_construct_function = false)]
protected Object ();
@ -217,12 +217,12 @@ namespace Cogl {
[CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_is_context")]
[Version (since = "1.10")]
public bool is_context ();
[CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_is_framebuffer")]
[Version (since = "1.10")]
public bool is_framebuffer ();
[Version (since = "2.0")]
[CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_is_frame_info")]
public bool is_frame_info ();
[CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_is_framebuffer")]
[Version (since = "1.10")]
public bool is_framebuffer ();
[CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_is_pipeline")]
[Version (since = "2.0")]
public bool is_pipeline ();
@ -817,12 +817,12 @@ namespace Cogl {
OGL_FEATURE_ID_TEXTURE_RG,
[CCode (cname = "COGL_FEATURE_ID_BUFFER_AGE")]
OGL_FEATURE_ID_BUFFER_AGE,
[CCode (cname = "COGL_FEATURE_ID_TEXTURE_EGL_IMAGE_EXTERNAL")]
OGL_FEATURE_ID_TEXTURE_EGL_IMAGE_EXTERNAL,
[CCode (cname = "COGL_FEATURE_ID_BLIT_FRAMEBUFFER")]
OGL_FEATURE_ID_BLIT_FRAMEBUFFER,
[CCode (cname = "COGL_FEATURE_ID_TIMESTAMP_QUERY")]
OGL_FEATURE_ID_TIMESTAMP_QUERY,
[CCode (cname = "COGL_FEATURE_ID_TEXTURE_EGL_IMAGE_EXTERNAL")]
OGL_FEATURE_ID_TEXTURE_EGL_IMAGE_EXTERNAL
OGL_FEATURE_ID_TIMESTAMP_QUERY
}
[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_FILTER_", has_type_id = false)]
public enum FilterReturn {
@ -898,9 +898,21 @@ namespace Cogl {
RG_88,
RGB_888,
BGR_888,
#if HAS_MUTTER45
RGBX_8888,
#endif
RGBA_8888,
#if HAS_MUTTER45
BGRX_8888,
#endif
BGRA_8888,
#if HAS_MUTTER45
XRGB_8888,
#endif
ARGB_8888,
#if HAS_MUTTER45
XBGR_8888,
#endif
ABGR_8888,
RGBA_1010102,
BGRA_1010102,
@ -908,7 +920,13 @@ namespace Cogl {
ARGB_2101010,
XBGR_2101010,
ABGR_2101010,
#if HAS_MUTTER45
RGBX_FP_16161616,
#endif
RGBA_FP_16161616,
#if HAS_MUTTER45
BGRX_FP_16161616,
#endif
BGRA_FP_16161616,
XRGB_FP_16161616,
ARGB_FP_16161616,
@ -1123,13 +1141,28 @@ namespace Cogl {
[CCode (cheader_filename = "cogl/cogl.h")]
[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
public static GLib.OptionGroup get_option_group ();
#endif
#if HAS_MUTTER45
[CCode (cheader_filename = "cogl/cogl.h")]
public static bool is_tracing ();
#endif
[CCode (cheader_filename = "cogl/cogl.h")]
public static void set_tracing_disabled_on_thread (GLib.MainContext main_context);
#if HAS_MUTTER45
[CCode (cheader_filename = "cogl/cogl.h")]
public static void set_tracing_enabled_on_thread (GLib.MainContext main_context, string group);
[CCode (cheader_filename = "cogl/cogl.h")]
public static bool start_tracing_with_fd (int fd) throws GLib.Error;
[CCode (cheader_filename = "cogl/cogl.h")]
public static bool start_tracing_with_path (string filename) throws GLib.Error;
[CCode (cheader_filename = "cogl/cogl.h")]
public static void stop_tracing ();
#else
[CCode (cheader_filename = "cogl/cogl.h")]
public static void set_tracing_enabled_on_thread (GLib.MainContext main_context, string group, string filename);
[CCode (cheader_filename = "cogl/cogl.h")]
public static void set_tracing_enabled_on_thread_with_fd (GLib.MainContext main_context, string group, int fd);
#endif
[CCode (cheader_filename = "cogl/cogl.h")]
public static void trace_describe (Cogl.TraceHead head, string description);
[CCode (cheader_filename = "cogl/cogl.h")]

38
vapi/mutter-mtk-13.vapi Normal file
View File

@ -0,0 +1,38 @@
/* mutter-mtk-13.vapi generated by vapigen, do not modify. */
[CCode (cprefix = "Mtk", gir_namespace = "Mtk", gir_version = "13", lower_case_cprefix = "mtk_")]
namespace Mtk {
[CCode (cheader_filename = "mtk/mtk.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "mtk_rectangle_get_type ()")]
public struct Rectangle {
public int x;
public int y;
public int width;
public int height;
[CCode (has_construct_function = false, type = "MtkRectangle*")]
public Rectangle (int x, int y, int width, int height);
public int area ();
public bool contains_rect (Mtk.Rectangle inner_rect);
public Mtk.Rectangle? copy ();
public bool could_fit_rect (Mtk.Rectangle inner_rect);
public bool equal (Mtk.Rectangle src2);
public void free ();
public static Mtk.Rectangle from_graphene_rect (Graphene.Rect rect, Mtk.RoundingStrategy rounding_strategy);
public bool horiz_overlap (Mtk.Rectangle rect2);
public bool intersect (Mtk.Rectangle src2, out Mtk.Rectangle dest);
public bool overlap (Mtk.Rectangle rect2);
public Graphene.Rect? to_graphene_rect ();
public Mtk.Rectangle union (Mtk.Rectangle rect2);
public bool vert_overlap (Mtk.Rectangle rect2);
}
[CCode (cheader_filename = "mtk/mtk.h", cprefix = "MTK_ROUNDING_STRATEGY_", has_type_id = false)]
public enum RoundingStrategy {
SHRINK,
GROW,
ROUND
}
[CCode (cheader_filename = "mtk/mtk.h")]
[Version (replacement = "Rectangle.from_graphene_rect")]
public static Mtk.Rectangle rectangle_from_graphene_rect (Graphene.Rect rect, Mtk.RoundingStrategy rounding_strategy);
[CCode (cheader_filename = "mtk/mtk.h")]
public static void x11_errors_deinit ();
}