diff options
Diffstat (limited to 'vendor/libghostty-vt/pkg/fontconfig/object_set.zig')
| -rw-r--r-- | vendor/libghostty-vt/pkg/fontconfig/object_set.zig | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/vendor/libghostty-vt/pkg/fontconfig/object_set.zig b/vendor/libghostty-vt/pkg/fontconfig/object_set.zig new file mode 100644 index 00000000..29cf6386 --- /dev/null +++ b/vendor/libghostty-vt/pkg/fontconfig/object_set.zig @@ -0,0 +1,30 @@ +const std = @import("std"); +const c = @import("c.zig").c; +const Property = @import("main.zig").Property; + +pub const ObjectSet = opaque { + pub fn create() *ObjectSet { + return @ptrCast(c.FcObjectSetCreate()); + } + + pub fn destroy(self: *ObjectSet) void { + c.FcObjectSetDestroy(self.cval()); + } + + pub fn add(self: *ObjectSet, p: Property) bool { + return c.FcObjectSetAdd(self.cval(), p.cval().ptr) == c.FcTrue; + } + + pub inline fn cval(self: *ObjectSet) *c.struct__FcObjectSet { + return @ptrCast(@alignCast(self)); + } +}; + +test "create" { + const testing = std.testing; + + var os = ObjectSet.create(); + defer os.destroy(); + + try testing.expect(os.add(.family)); +} |
