Skip to content

Commit

Permalink
Updated To Mutter47 (libmutter-15) (#593)
Browse files Browse the repository at this point in the history
Co-authored-by: Andrei Esteves <[email protected]>
Co-authored-by: Ryo Nakano <[email protected]>
  • Loading branch information
3 people authored Dec 19, 2024
1 parent 1b7fc0b commit 0baabae
Show file tree
Hide file tree
Showing 22 changed files with 1,220 additions and 762 deletions.
20 changes: 19 additions & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,26 @@ jobs:
ninja -C build
ninja -C build install
lint:
fedora:
runs-on: ubuntu-latest

container:
image: fedora:latest

steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: |
dnf install -y gala-devel libgee-devel gobject-introspection-devel glib2-devel granite-devel gtk3-devel meson valac
- name: Build
env:
DESTDIR: out
run: |
meson build -Dexample=true
ninja -C build
ninja -C build install
lint:
runs-on: ubuntu-latest

container:
Expand Down
30 changes: 30 additions & 0 deletions vapi/Clutter-15-custom.vala
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
namespace Clutter {
public interface Container : GLib.Object {
public void add (params Clutter.Actor[] actors);
[CCode (cname = "clutter_container_class_find_child_property")]
public class unowned GLib.ParamSpec find_child_property (string property_name);
[CCode (cname = "clutter_container_class_list_child_properties")]
public class unowned GLib.ParamSpec[] list_child_properties ();
}

public struct Units {
[CCode (cname = "clutter_units_from_cm")]
public Units.from_cm (float cm);
[CCode (cname = "clutter_units_from_em")]
public Units.from_em (float em);
[CCode (cname = "clutter_units_from_em_for_font")]
public Units.from_em_for_font (string font_name, float em);
[CCode (cname = "clutter_units_from_mm")]
public Units.from_mm (float mm);
[CCode (cname = "clutter_units_from_pixels")]
public Units.from_pixels (int px);
[CCode (cname = "clutter_units_from_pt")]
public Units.from_pt (float pt);
[CCode (cname = "clutter_units_from_string")]
public Units.from_string (string str);
}

[CCode (cheader_filename = "clutter/clutter.h", has_copy_function = false, has_destroy_function = false, has_type_id = false)]
public struct Capture {
}
}
139 changes: 139 additions & 0 deletions vapi/Clutter-15.metadata
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
// Non mini-object
ActorBox struct
Margin struct
PaintVolume struct
Perspective struct

*.ref unowned

Actor
.apply_transform.matrix ref
.get_abs_allocation_vertices.verts out=false
Event.type#method name="get_type"
Image
.new symbol_type="constructor"

// ???
Actor.has_pointer#method name="get_has_pointer"

// Not all backing symbols are deprecated
Actor.pick deprecated=false

// Nullable return values
Actor
.get_parent nullable

// method/virtual-method/signal don't match
Actor
.event#method name="emit_event"
.get_paint_volume#virtual_method name="get_paint_volume_vfunc"
.get_paint_volume#virtual_method.volume out
Text
.activate#method name="try_activate"
.insert_text#signal skip
TextBuffer.get_text#virtual_method name="get_text_with_length"

// Default values
Stage.read_pixels
.width default=-1
.height default=-1
Stage.paint_to_buffer
.data type="uint8[]"
Text
.position_to_coords.line_height default=null

// Skipped by g-i for unknown reasons
LayoutManager
.create_child_meta skip=false

// Variadic arguments
Backend
.get_cogl_context skip=false
Interval
.new skip=false
.get_interval skip=false
.set_final skip=false
.set_initial skip=false
.set_interval skip=false
LayoutManager
.child_get skip=false
.child_set skip=false

// Skipped upstream for unknown reasons
Interval.register_progress_func skip=false
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
Margin
.new skip

// Upstream
Event
.get_position.position out

TransferFunction.get_default_luminances
.min_lum_out out
.max_lum_out out
.ref_lum_out out

FrameListenerIface skip
FrameClock.new skip

// Remove for clutter-2.0
/////////////////////////

StageView.layout skip

Stage
.paint_view.redraw_clip type="Cairo.Region"

// *Event should be compact classes derived from Clutter.Event
Event.type skip=false
AnyEvent struct=false base_type="Clutter.Event"
ButtonEvent struct=false base_type="Clutter.Event"
CrossingEvent struct=false base_type="Clutter.Event"
DeviceEvent struct=false base_type="Clutter.Event"
IMEvent struct=false base_type="Clutter.Event"
KeyEvent struct=false base_type="Clutter.Event"
MotionEvent struct=false base_type="Clutter.Event"
PadButtonEvent struct=false base_type="Clutter.Event"
PadRingEvent struct=false base_type="Clutter.Event"
PadStripEvent struct=false base_type="Clutter.Event"
ProximityEvent struct=false base_type="Clutter.Event"
ScrollEvent struct=false base_type="Clutter.Event"
TouchEvent struct=false base_type="Clutter.Event"
TouchpadHoldEvent struct=false base_type="Clutter.Event"
TouchpadPinchEvent struct=false base_type="Clutter.Event"
TouchpadSwipeEvent struct=false base_type="Clutter.Event"

// Keysyms used to be CLUTTER_X instead of CLUTTER_KEY_X
*#constant skip
CURRENT_TIME skip=false
PRIORITY_REDRAW skip=false

// Clutter devs don't like us creating nested namespaces
value_* name="value_(.+)" parent="Clutter.Value"
threads_* name="threads_(.+)" parent="Clutter.Threads"
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"

// 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"
66 changes: 66 additions & 0 deletions vapi/Cogl-15-custom.vala
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
namespace Cogl {
public struct Color {
[CCode (cname="cogl_color_init_from_4f")]
public Color.from_4f (float red, float green, float blue, float alpha);
[CCode (cname="cogl_color_init_from_hsl")]
public Color.from_hsl (float hue, float saturation, float luminance);
[CCode (cname = "_vala_cogl_color_from_string")]
public static Cogl.Color? from_string (string str) {
Cogl.Color color = {};
if (color.init_from_string (str))
return color;

return null;
}
}
[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
public struct VertexP2 {
public float x;
public float y;
}
[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
public struct VertexP2C4 {
public float x;
public float y;
public uint8 r;
public uint8 g;
public uint8 b;
public uint8 a;
}
[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
public struct VertexP2T2 {
public float x;
public float y;
public float s;
public float t;
}
[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
public struct VertexP2T2C4 {
public float x;
public float y;
public float s;
public float t;
public uint8 r;
public uint8 g;
public uint8 b;
public uint8 a;
}
[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
public struct VertexP3 {
public float x;
public float y;
public float z;
}
[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
public struct VertexP3T2 {
public float x;
public float y;
public float z;
public float s;
public float t;
}
[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_PIXEL_FORMAT_", type_id = "cogl_pixel_format_get_type ()")]
public enum PixelFormat {
CAIRO_ARGB32_COMPAT;
}
}
46 changes: 46 additions & 0 deletions vapi/Cogl-15.metadata
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
* cheader_filename="cogl/cogl.h"

Color struct

Color.equal.v1 type="Cogl.Color"
Color.equal.v2 type="Cogl.Color"
Color.from_string name="init_from_string"

Context.free_timestamp_query.query owned

Bitmap.* skip=false
Bitmap.new_for_data.data type="owned uint8[]"
Bitmap.get_buffer type="unowned Cogl.Buffer?"

Primitive.new skip=false

Texture
.get_data.data type="uint8[]"
.set_data.data type="uint8[]"
.set_region.data type="uint8[]"

Texture2D
.new_from_data skip=false

Texture.error_quark parent="Cogl.TextureError" name="quark"
Scanout.error_quark parent="Cogl.ScanoutError" name="quark"

RendererError errordomain
SystemError errordomain
TextureError errordomain
FramebufferError errordomain
ScanoutError errordomain

blit_framebuffer parent="Cogl.Framebuffer" symbol_type="method" instance_idx=0 name="blit"
meta_texture_foreach_in_region parent="Cogl.Texture" symbol_type="method" instance_idx=0 name="foreach_in_region"

Onscreen
.add_frame_callback unowned

A_BIT parent="Cogl.Bits" name="A"
BGR_BIT parent="Cogl.Bits" name="BGR"
AFIRST_BIT parent="Cogl.Bits" name="AFIRST"
PREMULT_BIT parent="Cogl.Bits" name="PREMULT"
DEPTH_BIT parent="Cogl.Bits" name="DEPTH"
STENCIL_BIT parent="Cogl.Bits" name="STENCIL"
PIXEL_FORMAT_MAX_PLANES parent = "Cogl.PixelFormat" name="MAX_PLANES"
6 changes: 6 additions & 0 deletions vapi/Mtk-15.metadata
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Rectangle struct
RECTANGLE_MAX_STACK_RECTS parent="Mtk.Rectangle" name="MAX_STACK_RECTS"
REGION_BUILDER_MAX_LEVELS parent="Mtk.RegionBuilder" name="MAX_LEVELS"

MONITOR_ALL_TRANSFORMS parent="Mtk.MonitorTransform" name="ALL"
MONITOR_N_TRANSFORMS skip
1 change: 0 additions & 1 deletion vapi/config.vapi
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,5 @@ namespace Config
public const string PKGDATADIR;
public const string VERSION;
public const string PLUGINDIR;
public const string SCHEMA;
public const string RESOURCEPATH;
}
1 change: 1 addition & 0 deletions vapi/libmutter-15.deps
1 change: 1 addition & 0 deletions vapi/libmutter-15.vapi
Loading

0 comments on commit 0baabae

Please sign in to comment.