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

View File

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

View File

@ -139,6 +139,17 @@ if mutter44_dep.found()
vala_flags = ['--define', 'HAS_MUTTER43', '--define', 'HAS_MUTTER44'] vala_flags = ['--define', 'HAS_MUTTER43', '--define', 'HAS_MUTTER44']
endif 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 if mutter_dep.length() == 0
error ('No supported mutter library found!') error ('No supported mutter library found!')
endif endif

View File

@ -22,7 +22,11 @@ public class Gala.Plugins.PIP.Plugin : Gala.Plugin {
private Gala.WindowManager? wm = null; private Gala.WindowManager? wm = null;
private SelectionArea? selection_area; 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) { private static inline bool meta_rectangle_contains (Meta.Rectangle rect, int x, int y) {
#endif
return x >= rect.x && x < rect.x + rect.width return x >= rect.x && x < rect.x + rect.width
&& y >= rect.y && y < rect.y + rect.height; && 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_size ();
update_container_position (); update_container_position ();
#if HAS_MUTTER45
Mtk.Rectangle monitor_rect;
#else
Meta.Rectangle monitor_rect; Meta.Rectangle monitor_rect;
#endif
get_current_monitor_rect (out monitor_rect); get_current_monitor_rect (out monitor_rect);
float x_position, y_position; 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) { public override bool enter_event (Clutter.CrossingEvent event) {
#endif
var duration = wm.enable_animations ? 300 : 0; var duration = wm.enable_animations ? 300 : 0;
close_button.save_easing_state (); close_button.save_easing_state ();
@ -182,7 +190,11 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor {
return Clutter.EVENT_PROPAGATE; return Clutter.EVENT_PROPAGATE;
} }
#if HAS_MUTTER45
public override bool leave_event (Clutter.Event event) {
#else
public override bool leave_event (Clutter.CrossingEvent event) { public override bool leave_event (Clutter.CrossingEvent event) {
#endif
var duration = wm.enable_animations ? 300 : 0; var duration = wm.enable_animations ? 300 : 0;
close_button.save_easing_state (); close_button.save_easing_state ();
@ -214,15 +226,18 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor {
update_screen_position (); 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) { 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; return Clutter.EVENT_STOP;
} }
resizing = true; resizing = true;
resize_start_x = event.x; event.get_coords (out resize_start_x, out resize_start_y);
resize_start_y = event.y;
begin_resize_width = width; begin_resize_width = width;
begin_resize_height = height; begin_resize_height = height;
@ -240,15 +255,16 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor {
switch (event.get_type ()) { switch (event.get_type ()) {
case Clutter.EventType.MOTION: case Clutter.EventType.MOTION:
unowned var motion_event = (Clutter.MotionEvent) event;
var mods = event.get_state (); var mods = event.get_state ();
if (!(Clutter.ModifierType.BUTTON1_MASK in mods)) { if (!(Clutter.ModifierType.BUTTON1_MASK in mods)) {
stop_resizing (); stop_resizing ();
break; break;
} }
float diff_x = motion_event.x - resize_start_x; float event_x, event_y;
float diff_y = motion_event.y - resize_start_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; width = begin_resize_width + diff_x;
height = begin_resize_height + diff_y; height = begin_resize_height + diff_y;
@ -258,7 +274,7 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor {
break; break;
case Clutter.EventType.BUTTON_RELEASE: case Clutter.EventType.BUTTON_RELEASE:
if (event.get_button () == 1) { if (event.get_button () == Clutter.Button.PRIMARY) {
stop_resizing (); stop_resizing ();
} }
@ -401,7 +417,11 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor {
private void place_window_in_screen () { private void place_window_in_screen () {
off_screen = false; off_screen = false;
#if HAS_MUTTER45
Mtk.Rectangle monitor_rect;
#else
Meta.Rectangle monitor_rect; Meta.Rectangle monitor_rect;
#endif
get_current_monitor_rect (out monitor_rect); get_current_monitor_rect (out monitor_rect);
int monitor_x = monitor_rect.x; 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_mode (Clutter.AnimationMode.EASE_OUT_BACK);
set_easing_duration (duration); set_easing_duration (duration);
#if HAS_MUTTER45
Mtk.Rectangle monitor_rect;
#else
Meta.Rectangle monitor_rect; Meta.Rectangle monitor_rect;
#endif
get_current_monitor_rect (out monitor_rect); get_current_monitor_rect (out monitor_rect);
int monitor_x = monitor_rect.x; int monitor_x = monitor_rect.x;
@ -509,7 +533,11 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor {
return false; 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) { private void get_current_monitor_rect (out Meta.Rectangle rect) {
#endif
var display = wm.get_display (); var display = wm.get_display ();
rect = display.get_monitor_geometry (display.get_current_monitor ()); 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 (); canvas.invalidate ();
} }
#if HAS_MUTTER45
public override bool key_press_event (Clutter.Event e) {
#else
public override bool key_press_event (Clutter.KeyEvent e) { 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 (); close ();
closed (); closed ();
return true; return true;
@ -61,26 +65,37 @@ public class Gala.Plugins.PIP.SelectionArea : Clutter.Actor {
return false; return false;
} }
#if HAS_MUTTER45
public override bool button_press_event (Clutter.Event e) {
#else
public override bool button_press_event (Clutter.ButtonEvent e) { 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; return true;
} }
clicked = true; clicked = true;
start_point.x = (int) e.x; float press_x, press_y;
start_point.y = (int) e.y; e.get_coords (out press_x, out press_y);
start_point = { (int) press_x, (int) press_y};
return true; return true;
} }
#if HAS_MUTTER45
public override bool button_release_event (Clutter.Event e) {
#else
public override bool button_release_event (Clutter.ButtonEvent e) { public override bool button_release_event (Clutter.ButtonEvent e) {
if (e.button != 1) { #endif
if (e.get_button () != Clutter.Button.PRIMARY) {
return true; return true;
} }
if (!dragging) { 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 (); close ();
return true; return true;
} }
@ -101,13 +116,18 @@ public class Gala.Plugins.PIP.SelectionArea : Clutter.Actor {
return true; return true;
} }
#if HAS_MUTTER45
public override bool motion_event (Clutter.Event e) {
#else
public override bool motion_event (Clutter.MotionEvent e) { public override bool motion_event (Clutter.MotionEvent e) {
#endif
if (!clicked) { if (!clicked) {
return true; return true;
} }
end_point.x = (int) e.x; float press_x, press_y;
end_point.y = (int) e.y; e.get_coords (out press_x, out press_y);
end_point = { (int) press_x, (int) press_y};
content.invalidate (); content.invalidate ();
if (!dragging) { if (!dragging) {

View File

@ -69,7 +69,11 @@ namespace Gala.Plugins.Template {
wm.ui_group.add_child (red_box); 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) { private bool turn_green (Clutter.ButtonEvent event) {
#endif
red_box.background_color = { 0, 255, 0, 255 }; red_box.background_color = { 0, 255, 0, 255 };
return true; return true;
} }

View File

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

View File

@ -32,8 +32,10 @@ namespace Gala {
reactive = true; reactive = true;
button_release_event.connect ((event) => { button_release_event.connect ((event) => {
if (event.button == Clutter.Button.SECONDARY) { float x, y;
show_background_menu ((int)event.x, (int)event.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); 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) { private bool on_scroll_event (Clutter.ScrollEvent event) {
#endif
if (!can_handle_event (event)) { if (!can_handle_event (event)) {
return false; return false;
} }
@ -100,7 +104,11 @@ public class Gala.ScrollBackend : Object {
return true; return true;
} }
#if HAS_MUTTER45
private static bool can_handle_event (Clutter.Event event) {
#else
private static bool can_handle_event (Clutter.ScrollEvent event) { private static bool can_handle_event (Clutter.ScrollEvent event) {
#endif
return event.get_type () == Clutter.EventType.SCROLL return event.get_type () == Clutter.EventType.SCROLL
&& event.get_source_device ().get_device_type () == Clutter.InputDeviceType.TOUCHPAD_DEVICE && event.get_source_device ().get_device_type () == Clutter.InputDeviceType.TOUCHPAD_DEVICE
&& event.get_scroll_direction () == Clutter.ScrollDirection.SMOOTH; && 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) { 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); var barrier_size = InternalUtils.scale_to_int (BARRIER_SIZE, scale);
int x1 = (int) x; int x1 = (int) x;

View File

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

View File

@ -115,7 +115,11 @@ namespace Gala {
flash_area (x, y, width, height); flash_area (x, y, width, height);
} }
#if HAS_MUTTER45
Mtk.Rectangle rect = { x, y, width, height };
#else
Meta.Rectangle rect = { x, y, width, height }; Meta.Rectangle rect = { x, y, width, height };
#endif
unowned var display = wm.get_display (); unowned var display = wm.get_display ();
var scale = display.get_monitor_scale (display.get_monitor_index_for_rect (rect)); 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); 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 }; 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); var image = (Cairo.ImageSurface) window_texture.get_image (clip);
if (include_cursor) { if (include_cursor) {
image = composite_stage_cursor (image, { rect.x, rect.y, rect.width, rect.height }); 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); 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) { public override bool enter_event (Clutter.CrossingEvent event) {
#endif
toggle_close_button (true); toggle_close_button (true);
return Clutter.EVENT_PROPAGATE; return Clutter.EVENT_PROPAGATE;
} }
#if HAS_MUTTER45
public override bool leave_event (Clutter.Event event) {
#else
public override bool leave_event (Clutter.CrossingEvent event) { public override bool leave_event (Clutter.CrossingEvent event) {
if (!contains (event.related)) { #endif
if (!contains (event.get_related ())) {
toggle_close_button (false); toggle_close_button (false);
} }

View File

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

View File

@ -44,8 +44,12 @@ namespace Gala {
set_content (canvas); 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) { 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 (); close ();
cancelled = true; cancelled = true;
closed (); closed ();
@ -55,12 +59,18 @@ namespace Gala {
return false; return false;
} }
#if HAS_MUTTER45
public override bool button_release_event (Clutter.Event e) {
#else
public override bool button_release_event (Clutter.ButtonEvent e) { public override bool button_release_event (Clutter.ButtonEvent e) {
if (e.button != 1) { #endif
if (e.get_button () != Clutter.Button.PRIMARY) {
return true; 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 (); close ();
this.hide (); this.hide ();

View File

@ -52,8 +52,12 @@ namespace Gala {
canvas.invalidate (); canvas.invalidate ();
} }
#if HAS_MUTTER45
public override bool key_press_event (Clutter.Event e) {
#else
public override bool key_press_event (Clutter.KeyEvent e) { 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 (); close ();
cancelled = true; cancelled = true;
closed (); closed ();
@ -63,20 +67,30 @@ namespace Gala {
return false; return false;
} }
#if HAS_MUTTER45
public override bool button_press_event (Clutter.Event e) {
#else
public override bool button_press_event (Clutter.ButtonEvent e) { 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; return true;
} }
clicked = 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; return true;
} }
#if HAS_MUTTER45
public override bool button_release_event (Clutter.Event e) {
#else
public override bool button_release_event (Clutter.ButtonEvent e) { public override bool button_release_event (Clutter.ButtonEvent e) {
if (e.button != 1) { #endif
if (e.get_button () != Clutter.Button.PRIMARY) {
return true; return true;
} }
@ -98,12 +112,18 @@ namespace Gala {
return true; return true;
} }
#if HAS_MUTTER45
public override bool motion_event (Clutter.Event e) {
#else
public override bool motion_event (Clutter.MotionEvent e) { public override bool motion_event (Clutter.MotionEvent e) {
#endif
if (!clicked) { if (!clicked) {
return true; 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 (); content.invalidate ();
if (!dragging) { 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. * 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; } public Meta.Rectangle? slot { get; private set; default = null; }
#endif
/** /**
* When active fades a white border around the window in. Used for the visually * 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 * 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) { public void take_slot (Meta.Rectangle rect, bool with_gesture = false, bool is_cancel_animation = false) {
#endif
slot = rect; slot = rect;
var initial_x = x; var initial_x = x;
var initial_y = y; var initial_y = y;
@ -466,11 +474,19 @@ public class Gala.WindowClone : Clutter.Actor {
(input_rect.y - outer_rect.y) * scale_factor); (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) { public override bool button_press_event (Clutter.ButtonEvent event) {
#endif
return Clutter.EVENT_STOP; return Clutter.EVENT_STOP;
} }
#if HAS_MUTTER45
public override bool enter_event (Clutter.Event event) {
#else
public override bool enter_event (Clutter.CrossingEvent event) { public override bool enter_event (Clutter.CrossingEvent event) {
#endif
if (drag_action != null && drag_action.dragging) { if (drag_action != null && drag_action.dragging) {
return Clutter.EVENT_PROPAGATE; return Clutter.EVENT_PROPAGATE;
} }
@ -492,7 +508,11 @@ public class Gala.WindowClone : Clutter.Actor {
return Clutter.EVENT_PROPAGATE; return Clutter.EVENT_PROPAGATE;
} }
#if HAS_MUTTER45
public override bool leave_event (Clutter.Event event) {
#else
public override bool leave_event (Clutter.CrossingEvent event) { public override bool leave_event (Clutter.CrossingEvent event) {
#endif
var duration = wm.enable_animations ? FADE_ANIMATION_DURATION : 0; var duration = wm.enable_animations ? FADE_ANIMATION_DURATION : 0;
close_button.save_easing_state (); close_button.save_easing_state ();

View File

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

View File

@ -26,8 +26,12 @@ public class Gala.WindowOverview : Clutter.Actor, ActivatableComponent {
reactive = true; reactive = true;
} }
#if HAS_MUTTER45
public override bool key_press_event (Clutter.Event event) {
#else
public override bool key_press_event (Clutter.KeyEvent event) { 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 (); close ();
return Clutter.EVENT_STOP; 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) { public override bool button_release_event (Clutter.ButtonEvent event) {
if (event.button == Clutter.Button.PRIMARY) { #endif
if (event.get_button () == Clutter.Button.PRIMARY) {
close (); close ();
} }

View File

@ -434,8 +434,14 @@ public class Gala.WindowSwitcher : Clutter.Actor {
close_switcher (wm.get_display ().get_current_time ()); 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) { 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) { if (actor == null) {
return true; return true;
} }
@ -452,24 +458,36 @@ public class Gala.WindowSwitcher : Clutter.Actor {
return true; return true;
} }
#if HAS_MUTTER45
private bool container_mouse_release (Clutter.Event event) {
#else
private bool container_mouse_release (Clutter.ButtonEvent event) { private bool container_mouse_release (Clutter.ButtonEvent event) {
if (opened && event.button == Clutter.Button.PRIMARY) { #endif
close_switcher (event.time); if (opened && event.get_button () == Clutter.Button.PRIMARY) {
close_switcher (event.get_time ());
} }
return true; return true;
} }
#if HAS_MUTTER45
public override bool key_release_event (Clutter.Event event) {
#else
public override bool key_release_event (Clutter.KeyEvent event) { public override bool key_release_event (Clutter.KeyEvent event) {
#endif
if ((get_current_modifiers () & modifier_mask) == 0) { if ((get_current_modifiers () & modifier_mask) == 0) {
close_switcher (event.time); close_switcher (event.get_time ());
} }
return Clutter.EVENT_PROPAGATE; 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) { public override bool key_press_event (Clutter.KeyEvent event) {
switch (event.keyval) { #endif
switch (event.get_key_symbol ()) {
case Clutter.Key.Right: case Clutter.Key.Right:
next_window (false); next_window (false);
return Clutter.EVENT_STOP; return Clutter.EVENT_STOP;
@ -477,10 +495,10 @@ public class Gala.WindowSwitcher : Clutter.Actor {
next_window (true); next_window (true);
return Clutter.EVENT_STOP; return Clutter.EVENT_STOP;
case Clutter.Key.Escape: case Clutter.Key.Escape:
close_switcher (event.time, true); close_switcher (event.get_time (), true);
return Clutter.EVENT_PROPAGATE; return Clutter.EVENT_PROPAGATE;
case Clutter.Key.Return: case Clutter.Key.Return:
close_switcher (event.time, false); close_switcher (event.get_time (), false);
return Clutter.EVENT_PROPAGATE; return Clutter.EVENT_PROPAGATE;
} }

View File

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

View File

@ -17,8 +17,13 @@
public class Gala.WindowListener : Object { public class Gala.WindowListener : Object {
public struct WindowGeometry { public struct WindowGeometry {
#if HAS_MUTTER45
Mtk.Rectangle inner;
Mtk.Rectangle outer;
#else
Meta.Rectangle inner; Meta.Rectangle inner;
Meta.Rectangle outer; Meta.Rectangle outer;
#endif
} }
private static WindowListener? instance = null; 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 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 GLib.HashTable<Meta.Window, int> ws_assoc = new GLib.HashTable<Meta.Window, int> (direct_hash, direct_equal);
private Meta.SizeChange? which_change = null; private Meta.SizeChange? which_change = null;
#if HAS_MUTTER45
private Mtk.Rectangle old_rect_size_change;
#else
private Meta.Rectangle old_rect_size_change; private Meta.Rectangle old_rect_size_change;
#endif
private Clutter.Actor latest_window_snapshot; private Clutter.Actor latest_window_snapshot;
private GLib.Settings animations_settings; 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) { public override void show_tile_preview (Meta.Window window, Meta.Rectangle tile_rect, int tile_monitor_number) {
#endif
if (tile_preview == null) { if (tile_preview == null) {
tile_preview = new Clutter.Actor (); tile_preview = new Clutter.Actor ();
var rgba = InternalUtils.get_theme_accent_color (); 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) { 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); 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 // must wait for size_changed to get updated frame_rect
// as which_change is not passed to size_changed, save it as instance variable // 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) { 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; which_change = which_change_local;
old_rect_size_change = old_frame_rect; old_rect_size_change = old_frame_rect;
@ -1201,7 +1217,11 @@ namespace Gala {
int width, height; int width, height;
get_display ().get_size (out width, out height); get_display ().get_size (out width, out height);
#if HAS_MUTTER45
Mtk.Rectangle icon = {};
#else
Meta.Rectangle icon = {}; Meta.Rectangle icon = {};
#endif
if (actor.get_meta_window ().get_icon_geometry (out icon)) { if (actor.get_meta_window ().get_icon_geometry (out icon)) {
// Fix icon position and size according to ui scaling factor. // 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)); 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 (); public static bool get_gnome_animations ();
[CCode (cheader_filename = "meta/prefs.h")] [CCode (cheader_filename = "meta/prefs.h")]
public static Meta.KeyBindingAction get_keybinding_action (string name); 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")] [CCode (cheader_filename = "meta/prefs.h")]
public static int get_mouse_button_menu (); public static int get_mouse_button_menu ();
[CCode (cheader_filename = "meta/prefs.h")] [CCode (cheader_filename = "meta/prefs.h")]
@ -75,8 +79,10 @@ namespace Meta {
public static bool get_raise_on_click (); public static bool get_raise_on_click ();
[CCode (cheader_filename = "meta/prefs.h")] [CCode (cheader_filename = "meta/prefs.h")]
public static bool get_show_fallback_app_menu (); public static bool get_show_fallback_app_menu ();
#if !HAS_MUTTER45
[CCode (cheader_filename = "meta/prefs.h")] [CCode (cheader_filename = "meta/prefs.h")]
public static unowned Pango.FontDescription get_titlebar_font (); public static unowned Pango.FontDescription get_titlebar_font ();
#endif
[CCode (cheader_filename = "meta/prefs.h")] [CCode (cheader_filename = "meta/prefs.h")]
public static bool get_visual_bell (); public static bool get_visual_bell ();
[CCode (cheader_filename = "meta/prefs.h")] [CCode (cheader_filename = "meta/prefs.h")]
@ -246,7 +252,11 @@ namespace Meta {
#if HAS_MUTTER43 #if HAS_MUTTER43
public class Barrier : GLib.Object, GLib.Initable { public class Barrier : GLib.Object, GLib.Initable {
[CCode (has_construct_function = false)] [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; public Barrier (Meta.Backend backend, int x1, int y1, int x2, int y2, Meta.BarrierDirection directions) throws GLib.Error;
#endif
#else #else
public class Barrier : GLib.Object { public class Barrier : GLib.Object {
[CCode (has_construct_function = false)] [CCode (has_construct_function = false)]
@ -263,6 +273,10 @@ namespace Meta {
public Meta.BarrierDirection directions { get; construct; } public Meta.BarrierDirection directions { get; construct; }
[NoAccessorMethod] [NoAccessorMethod]
public Meta.Display display { owned get; construct; } public Meta.Display display { owned get; construct; }
#if HAS_MUTTER45
[NoAccessorMethod]
public Meta.BarrierFlags flags { get; construct; }
#endif
[NoAccessorMethod] [NoAccessorMethod]
public int x1 { get; construct; } public int x1 { get; construct; }
[NoAccessorMethod] [NoAccessorMethod]
@ -336,6 +350,9 @@ namespace Meta {
public unowned Meta.Backend get_backend (); public unowned Meta.Backend get_backend ();
public Meta.CompositorType get_compositor_type (); public Meta.CompositorType get_compositor_type ();
public unowned Meta.Display get_display (); public unowned Meta.Display get_display ();
#if HAS_MUTTER45
public unowned Meta.WaylandCompositor? get_wayland_compositor ();
#endif
public bool is_replacing (); public bool is_replacing ();
public void notify_ready (); public void notify_ready ();
public bool raise_rlimit_nofile () throws GLib.Error; 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 void get_pointer (out Graphene.Point coords, out Clutter.ModifierType mods);
public bool get_pointer_visible (); public bool get_pointer_visible ();
public float get_scale (); public float get_scale ();
public unowned Cogl.Texture get_sprite (); public unowned Cogl.Texture? get_sprite ();
public void set_pointer_visible (bool visible); public void set_pointer_visible (bool visible);
[NoAccessorMethod] [NoAccessorMethod]
public Meta.Backend backend { owned get; construct; } public Meta.Backend backend { owned get; construct; }
@ -413,13 +430,26 @@ namespace Meta {
#endif #endif
public uint get_keybinding_action (uint keycode, ulong mask); public uint get_keybinding_action (uint keycode, ulong mask);
public uint32 get_last_user_time (); 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); public Meta.Rectangle get_monitor_geometry (int monitor);
#endif
public bool get_monitor_in_fullscreen (int monitor); 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); public int get_monitor_index_for_rect (Meta.Rectangle rect);
#endif
public int get_monitor_neighbor_index (int which_monitor, Meta.DisplayDirection dir); public int get_monitor_neighbor_index (int which_monitor, Meta.DisplayDirection dir);
public float get_monitor_scale (int monitor); public float get_monitor_scale (int monitor);
public int get_n_monitors (); 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); public string get_pad_action_label (Clutter.InputDevice pad, Meta.PadActionType action_type, uint action_number);
#endif
public int get_primary_monitor (); public int get_primary_monitor ();
public unowned Meta.Selection get_selection (); public unowned Meta.Selection get_selection ();
public void get_size (out int width, out int height); public void get_size (out int width, out int height);
@ -474,7 +504,11 @@ namespace Meta {
public signal bool restart (); public signal bool restart ();
public signal void show_osd (int object, string p0, string p1); 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); 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); 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 bool show_restart_message (string? message);
public signal void showing_desktop_changed (); public signal void showing_desktop_changed ();
public signal void window_created (Meta.Window object); public signal void window_created (Meta.Window object);
@ -579,6 +613,10 @@ namespace Meta {
public void switch_config (Meta.MonitorSwitchConfigType config_type); public void switch_config (Meta.MonitorSwitchConfigType config_type);
[NoAccessorMethod] [NoAccessorMethod]
public Meta.Backend backend { owned get; construct; } public Meta.Backend backend { owned get; construct; }
#if HAS_MUTTER45
[NoAccessorMethod]
public string experimental_hdr { owned get; set; }
#endif
[NoAccessorMethod] [NoAccessorMethod]
public bool has_builtin_panel { get; } public bool has_builtin_panel { get; }
#if HAS_MUTTER43 #if HAS_MUTTER43
@ -589,8 +627,28 @@ namespace Meta {
public signal void confirm_display_change (); public signal void confirm_display_change ();
public signal void monitors_changed (); public signal void monitors_changed ();
public signal void monitors_changed_internal (); 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 (); 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 ()")] [CCode (cheader_filename = "meta/meta-plugin.h", type_id = "meta_plugin_get_type ()")]
public abstract class Plugin : GLib.Object { public abstract class Plugin : GLib.Object {
[CCode (has_construct_function = false)] [CCode (has_construct_function = false)]
@ -627,13 +685,23 @@ namespace Meta {
[NoWrapper] [NoWrapper]
public virtual unowned Meta.PluginInfo? plugin_info (); public virtual unowned Meta.PluginInfo? plugin_info ();
[NoWrapper] [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); public virtual void show_tile_preview (Meta.Window window, Meta.Rectangle tile_rect, int tile_monitor_number);
#endif
[NoWrapper] [NoWrapper]
public virtual void show_window_menu (Meta.Window window, Meta.WindowMenuType menu, int x, int y); public virtual void show_window_menu (Meta.Window window, Meta.WindowMenuType menu, int x, int y);
[NoWrapper] [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); public virtual void show_window_menu_for_rect (Meta.Window window, Meta.WindowMenuType menu, Meta.Rectangle rect);
[NoWrapper] [NoWrapper]
public virtual void size_change (Meta.WindowActor actor, Meta.SizeChange which_change, Meta.Rectangle old_frame_rect, Meta.Rectangle old_buffer_rect); 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); public void size_change_completed (Meta.WindowActor actor);
[NoWrapper] [NoWrapper]
public virtual void size_changed (Meta.WindowActor actor); 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")] [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] [Compact]
public class Shadow { 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); 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 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 Meta.Shadow @ref ();
public void unref (); public void unref ();
@ -719,8 +791,13 @@ namespace Meta {
public sealed class ShapedTexture : GLib.Object, Clutter.Content { public sealed class ShapedTexture : GLib.Object, Clutter.Content {
[CCode (has_construct_function = false)] [CCode (has_construct_function = false)]
protected ShapedTexture (); 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 Cairo.Surface? get_image (Cairo.RectangleInt? clip);
public unowned Cogl.Texture get_texture (); public unowned Cogl.Texture get_texture ();
#endif
public void set_create_mipmaps (bool create_mipmaps); public void set_create_mipmaps (bool create_mipmaps);
public void set_mask_texture (Cogl.Texture mask_texture); public void set_mask_texture (Cogl.Texture mask_texture);
public signal void size_changed (); 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 { public sealed class Stage : Clutter.Stage, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
[CCode (has_construct_function = false)] [CCode (has_construct_function = false)]
protected Stage (); protected Stage ();
#if !HAS_MUTTER45
public signal void actors_painted (); public signal void actors_painted ();
#endif
} }
[CCode (cheader_filename = "meta/meta-startup-notification.h", type_id = "meta_startup_notification_get_type ()")] [CCode (cheader_filename = "meta/meta-startup-notification.h", type_id = "meta_startup_notification_get_type ()")]
public sealed class StartupNotification : GLib.Object { public sealed class StartupNotification : GLib.Object {
@ -775,6 +854,7 @@ namespace Meta {
public signal void complete (); public signal void complete ();
public signal void timeout (); public signal void timeout ();
} }
#if !HAS_MUTTER45
[CCode (cheader_filename = "meta/theme.h", has_type_id = false)] [CCode (cheader_filename = "meta/theme.h", has_type_id = false)]
[Compact] [Compact]
public class Theme { public class Theme {
@ -784,6 +864,7 @@ namespace Meta {
[CCode (cheader_filename = "meta/theme.h")] [CCode (cheader_filename = "meta/theme.h")]
public static unowned Meta.Theme @new (); public static unowned Meta.Theme @new ();
} }
#endif
[CCode (cheader_filename = "meta/meta-wayland-client.h", type_id = "meta_wayland_client_get_type ()")] [CCode (cheader_filename = "meta/meta-wayland-client.h", type_id = "meta_wayland_client_get_type ()")]
public sealed class WaylandClient : GLib.Object { public sealed class WaylandClient : GLib.Object {
[CCode (has_construct_function = false)] [CCode (has_construct_function = false)]
@ -801,6 +882,15 @@ namespace Meta {
public signal void client_destroyed (); public signal void client_destroyed ();
#endif #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 ()")] [CCode (cheader_filename = "meta/window.h", type_id = "meta_window_get_type ()")]
#if HAS_MUTTER44 #if HAS_MUTTER44
public abstract class Window : GLib.Object, GLib.Initable { public abstract class Window : GLib.Object, GLib.Initable {
@ -821,19 +911,30 @@ namespace Meta {
public bool can_close (); public bool can_close ();
public bool can_maximize (); public bool can_maximize ();
public bool can_minimize (); public bool can_minimize ();
#if !HAS_MUTTER45
public bool can_shade (); public bool can_shade ();
#endif
public void change_workspace (Meta.Workspace workspace); public void change_workspace (Meta.Workspace workspace);
public void change_workspace_by_index (int space_index, bool append); public void change_workspace_by_index (int space_index, bool append);
public void check_alive (uint32 timestamp); 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); public Meta.Rectangle client_rect_to_frame_rect (Meta.Rectangle client_rect);
#endif
public void compute_group (); public void compute_group ();
public void @delete (uint32 timestamp); public void @delete (uint32 timestamp);
public unowned Meta.Window find_root_ancestor (); public unowned Meta.Window find_root_ancestor ();
public void focus (uint32 timestamp); public void focus (uint32 timestamp);
public void foreach_ancestor (Meta.WindowForeachFunc func); public void foreach_ancestor (Meta.WindowForeachFunc func);
public void foreach_transient (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 frame_rect_to_client_rect (Meta.Rectangle frame_rect);
public Meta.Rectangle get_buffer_rect (); public Meta.Rectangle get_buffer_rect ();
#endif
public unowned string? get_client_machine (); public unowned string? get_client_machine ();
public Meta.WindowClientType get_client_type (); public Meta.WindowClientType get_client_type ();
public unowned GLib.Object get_compositor_private (); public unowned GLib.Object get_compositor_private ();
@ -841,7 +942,11 @@ namespace Meta {
public unowned Meta.Display get_display (); public unowned Meta.Display get_display ();
public unowned Meta.Frame get_frame (); public unowned Meta.Frame get_frame ();
public unowned Cairo.Region? get_frame_bounds (); public unowned Cairo.Region? get_frame_bounds ();
#if HAS_MUTTER45
public Mtk.Rectangle get_frame_rect ();
#else
public Meta.Rectangle get_frame_rect (); public Meta.Rectangle get_frame_rect ();
#endif
public Meta.FrameType get_frame_type (); public Meta.FrameType get_frame_type ();
public unowned Meta.Group? get_group (); public unowned Meta.Group? get_group ();
public unowned string? get_gtk_app_menu_object_path (); 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_theme_variant ();
public unowned string? get_gtk_unique_bus_name (); public unowned string? get_gtk_unique_bus_name ();
public unowned string? get_gtk_window_object_path (); 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); public bool get_icon_geometry (out Meta.Rectangle rect);
#endif
public uint64 get_id (); public uint64 get_id ();
public Meta.StackLayer get_layer (); public Meta.StackLayer get_layer ();
public Meta.MaximizeFlags get_maximized (); public Meta.MaximizeFlags get_maximized ();
@ -869,14 +978,23 @@ namespace Meta {
public Meta.WindowType get_window_type (); public Meta.WindowType get_window_type ();
public unowned string? get_wm_class (); public unowned string? get_wm_class ();
public unowned string? get_wm_class_instance (); 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_all_monitors ();
public Meta.Rectangle get_work_area_current_monitor (); public Meta.Rectangle get_work_area_current_monitor ();
public Meta.Rectangle get_work_area_for_monitor (int which_monitor); public Meta.Rectangle get_work_area_for_monitor (int which_monitor);
#endif
public unowned Meta.Workspace get_workspace (); public unowned Meta.Workspace get_workspace ();
public X.Window get_xwindow (); public X.Window get_xwindow ();
public void group_leader_changed (); public void group_leader_changed ();
public bool has_attached_dialogs (); public bool has_attached_dialogs ();
public bool has_focus (); public bool has_focus ();
#if HAS_MUTTER45
public bool has_pointer ();
#endif
public bool is_above (); public bool is_above ();
public bool is_always_on_all_workspaces (); public bool is_always_on_all_workspaces ();
public bool is_ancestor_of_transient (Meta.Window transient); public bool is_ancestor_of_transient (Meta.Window transient);
@ -890,7 +1008,9 @@ namespace Meta {
public bool is_override_redirect (); public bool is_override_redirect ();
public bool is_remote (); public bool is_remote ();
public bool is_screen_sized (); public bool is_screen_sized ();
#if !HAS_MUTTER45
public bool is_shaded (); public bool is_shaded ();
#endif
public bool is_skip_taskbar (); public bool is_skip_taskbar ();
public void kill (); public void kill ();
public bool located_on_workspace (Meta.Workspace workspace); 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_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 move_to_monitor (int monitor);
public void raise (); public void raise ();
#if HAS_MUTTER45
public void raise_and_make_recent ();
#endif
public void set_compositor_private (GLib.Object priv); public void set_compositor_private (GLib.Object priv);
public void set_demands_attention (); 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 set_icon_geometry (Meta.Rectangle? rect);
public void shade (uint32 timestamp); public void shade (uint32 timestamp);
#endif
public void shove_titlebar_onscreen (); public void shove_titlebar_onscreen ();
public bool showing_on_its_workspace (); public bool showing_on_its_workspace ();
public void shutdown_group (); public void shutdown_group ();
@ -918,7 +1045,9 @@ namespace Meta {
public void unmaximize (Meta.MaximizeFlags directions); public void unmaximize (Meta.MaximizeFlags directions);
public void unminimize (); public void unminimize ();
public void unset_demands_attention (); public void unset_demands_attention ();
#if !HAS_MUTTER45
public void unshade (uint32 timestamp); public void unshade (uint32 timestamp);
#endif
public void unstick (); public void unstick ();
[NoAccessorMethod] [NoAccessorMethod]
public bool above { get; } public bool above { get; }
@ -971,6 +1100,9 @@ namespace Meta {
#endif #endif
[CCode (cname = "focus")] [CCode (cname = "focus")]
public signal void focused (); public signal void focused ();
#if HAS_MUTTER45
public signal void highest_scale_monitor_changed ();
#endif
public signal void position_changed (); public signal void position_changed ();
public signal void raised (); public signal void raised ();
public signal void shown (); public signal void shown ();
@ -984,11 +1116,19 @@ namespace Meta {
[CCode (has_construct_function = false)] [CCode (has_construct_function = false)]
protected WindowActor (); protected WindowActor ();
public void freeze (); public void freeze ();
#if HAS_MUTTER45
public Cairo.Surface? get_image (Mtk.Rectangle? clip);
#else
public Cairo.Surface? get_image (Cairo.RectangleInt? clip); public Cairo.Surface? get_image (Cairo.RectangleInt? clip);
#endif
public unowned Meta.Window? get_meta_window (); public unowned Meta.Window? get_meta_window ();
public unowned Meta.ShapedTexture? get_texture (); public unowned Meta.ShapedTexture? get_texture ();
public bool is_destroyed (); 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; public Clutter.Content? paint_to_content (Meta.Rectangle? clip) throws GLib.Error;
#endif
public void sync_visibility (); public void sync_visibility ();
public void thaw (); public void thaw ();
public Meta.Window meta_window { get; construct; } 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 void activate_with_focus (Meta.Window focus_this, uint32 timestamp);
public unowned Meta.Display get_display (); public unowned Meta.Display get_display ();
public unowned Meta.Workspace get_neighbor (Meta.MotionDirection direction); 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_all_monitors ();
public Meta.Rectangle get_work_area_for_monitor (int which_monitor); public Meta.Rectangle get_work_area_for_monitor (int which_monitor);
#endif
public int index (); public int index ();
public GLib.List<weak Meta.Window> list_windows (); public GLib.List<weak Meta.Window> list_windows ();
public void set_builtin_struts (GLib.SList<Meta.Strut?> struts); public void set_builtin_struts (GLib.SList<Meta.Strut?> struts);
@ -1074,21 +1219,35 @@ namespace Meta {
public int error_trap_pop_with_return (); public int error_trap_pop_with_return ();
[CCode (cheader_filename = "meta/meta-x11-errors.h", cname = "meta_x11_error_trap_push")] [CCode (cheader_filename = "meta/meta-x11-errors.h", cname = "meta_x11_error_trap_push")]
public void error_trap_push (); public void error_trap_push ();
#if !HAS_MUTTER45
public int get_damage_event_base (); public int get_damage_event_base ();
public int get_screen_number (); public int get_screen_number ();
public int get_shape_event_base (); public int get_shape_event_base ();
#endif
public unowned X.Display get_xdisplay (); public unowned X.Display get_xdisplay ();
#if !HAS_MUTTER45
public int get_xinput_opcode (); public int get_xinput_opcode ();
#endif
public X.Window get_xroot (); public X.Window get_xroot ();
#if !HAS_MUTTER45
public bool has_shape (); public bool has_shape ();
#endif
public unowned Meta.Group lookup_group (X.Window group_leader); 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 (); public void set_cm_selection ();
#endif
public void set_stage_input_region (X.XserverRegion region); public void set_stage_input_region (X.XserverRegion region);
#if !HAS_MUTTER44 #if !HAS_MUTTER44
[CCode (cheader_filename = "meta/meta-x11-display.h", cname = "meta_x11_init_gdk_display")] [CCode (cheader_filename = "meta/meta-x11-display.h", cname = "meta_x11_init_gdk_display")]
public static bool x11_init_gdk_display () throws GLib.Error; public static bool x11_init_gdk_display () throws GLib.Error;
#endif #endif
#if !HAS_MUTTER45
public bool xwindow_is_a_no_focus_window (X.Window xwindow); 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 ()")] [CCode (cheader_filename = "meta/meta-close-dialog.h", type_cname = "MetaCloseDialogInterface", type_id = "meta_close_dialog_get_type ()")]
public interface CloseDialog : GLib.Object { public interface CloseDialog : GLib.Object {
@ -1123,7 +1282,11 @@ namespace Meta {
} }
[CCode (cheader_filename = "meta/boxes.h", has_type_id = false)] [CCode (cheader_filename = "meta/boxes.h", has_type_id = false)]
public struct Edge { public struct Edge {
#if HAS_MUTTER45
public Mtk.Rectangle rect;
#else
public Meta.Rectangle rect; public Meta.Rectangle rect;
#endif
public Meta.Side side_type; public Meta.Side side_type;
public Meta.EdgeType edge_type; public Meta.EdgeType edge_type;
} }
@ -1157,6 +1320,7 @@ namespace Meta {
public weak string license; public weak string license;
public weak string description; 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 ()")] [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 struct Rectangle {
public int x; public int x;
@ -1175,6 +1339,7 @@ namespace Meta {
public Meta.Rectangle union (Meta.Rectangle rect2); public Meta.Rectangle union (Meta.Rectangle rect2);
public bool vert_overlap (Meta.Rectangle rect2); public bool vert_overlap (Meta.Rectangle rect2);
} }
#endif
[CCode (cheader_filename = "meta/meta-shadow-factory.h", has_type_id = false)] [CCode (cheader_filename = "meta/meta-shadow-factory.h", has_type_id = false)]
public struct ShadowParams { public struct ShadowParams {
public int radius; public int radius;
@ -1185,7 +1350,11 @@ namespace Meta {
} }
[CCode (cheader_filename = "meta/boxes.h", has_type_id = false)] [CCode (cheader_filename = "meta/boxes.h", has_type_id = false)]
public struct Strut { public struct Strut {
#if HAS_MUTTER45
public Mtk.Rectangle rect;
#else
public Meta.Rectangle rect; public Meta.Rectangle rect;
#endif
public Meta.Side side; public Meta.Side side;
} }
#if HAS_MUTTER43 #if HAS_MUTTER43
@ -1204,6 +1373,14 @@ namespace Meta {
NEGATIVE_X, NEGATIVE_X,
NEGATIVE_Y 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 ()")] [CCode (cheader_filename = "meta/common.h", cprefix = "META_BUTTON_FUNCTION_", type_id = "meta_button_function_get_type ()")]
public enum ButtonFunction { public enum ButtonFunction {
MENU, MENU,
@ -1282,17 +1459,21 @@ namespace Meta {
RESIZING, RESIZING,
SHAPES, SHAPES,
EDGE_RESISTANCE, EDGE_RESISTANCE,
DBUS,
INPUT, INPUT,
WAYLAND, WAYLAND,
KMS, KMS,
SCREEN_CAST, SCREEN_CAST,
REMOTE_DESKTOP, REMOTE_DESKTOP,
BACKEND, BACKEND,
RENDER,
#if HAS_MUTTER43 #if HAS_MUTTER43
COLOR, COLOR,
#endif #endif
DBUS; #if HAS_MUTTER45
INPUT_EVENTS,
EIS,
#endif
RENDER;
[CCode (cheader_filename = "meta/util.h", cname = "meta_topic_to_string")] [CCode (cheader_filename = "meta/util.h", cname = "meta_topic_to_string")]
public unowned string to_string (); public unowned string to_string ();
} }
@ -1333,6 +1514,7 @@ namespace Meta {
SUCCESS, SUCCESS,
ERROR ERROR
} }
#if !HAS_MUTTER45
[CCode (cheader_filename = "meta/common.h", cprefix = "META_FRAME_", type_id = "meta_frame_flags_get_type ()")] [CCode (cheader_filename = "meta/common.h", cprefix = "META_FRAME_", type_id = "meta_frame_flags_get_type ()")]
[Flags] [Flags]
public enum FrameFlags { public enum FrameFlags {
@ -1353,6 +1535,7 @@ namespace Meta {
TILED_LEFT, TILED_LEFT,
TILED_RIGHT TILED_RIGHT
} }
#endif
[CCode (cheader_filename = "meta/common.h", cprefix = "META_FRAME_TYPE_", type_id = "meta_frame_type_get_type ()")] [CCode (cheader_filename = "meta/common.h", cprefix = "META_FRAME_TYPE_", type_id = "meta_frame_type_get_type ()")]
public enum FrameType { public enum FrameType {
NORMAL, NORMAL,
@ -1522,6 +1705,9 @@ namespace Meta {
IS_REVERSED, IS_REVERSED,
NON_MASKABLE, NON_MASKABLE,
IGNORE_AUTOREPEAT, IGNORE_AUTOREPEAT,
#if HAS_MUTTER45
CUSTOM_TRIGGER,
#endif
NO_AUTO_GRAB NO_AUTO_GRAB
} }
#if HAS_MUTTER43 #if HAS_MUTTER43
@ -1584,12 +1770,42 @@ namespace Meta {
DOWN_LEFT, DOWN_LEFT,
DOWN_RIGHT 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 ()")] [CCode (cheader_filename = "meta/display.h", cprefix = "META_PAD_ACTION_", type_id = "meta_pad_action_type_get_type ()")]
public enum PadActionType { public enum PadActionType {
BUTTON, BUTTON,
RING, RING,
STRIP 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 ()")] [CCode (cheader_filename = "meta/prefs.h", cprefix = "META_PREF_", type_id = "meta_preference_get_type ()")]
public enum Preference { public enum Preference {
MOUSE_BUTTON_MODS, MOUSE_BUTTON_MODS,
@ -1603,7 +1819,9 @@ namespace Meta {
AUTO_RAISE, AUTO_RAISE,
AUTO_RAISE_DELAY, AUTO_RAISE_DELAY,
FOCUS_CHANGE_ON_POINTER_REST, FOCUS_CHANGE_ON_POINTER_REST,
#if !HAS_MUTTER45
TITLEBAR_FONT, TITLEBAR_FONT,
#endif
NUM_WORKSPACES, NUM_WORKSPACES,
DYNAMIC_WORKSPACES, DYNAMIC_WORKSPACES,
KEYBINDINGS, KEYBINDINGS,

View File

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