Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated To Mutter47 (libmutter-15) #593

Merged
merged 14 commits into from
Dec 19, 2024
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
Loading