diff --git a/pkg/fontconfig/pattern.zig b/pkg/fontconfig/pattern.zig index a223f7e6f..cee9c708f 100644 --- a/pkg/fontconfig/pattern.zig +++ b/pkg/fontconfig/pattern.zig @@ -1,6 +1,7 @@ const std = @import("std"); const assert = std.debug.assert; const c = @import("c.zig"); +const ObjectSet = @import("main.zig").ObjectSet; const Result = @import("main.zig").Result; const Value = @import("main.zig").Value; const ValueBinding = @import("main.zig").ValueBinding; @@ -22,6 +23,14 @@ pub const Pattern = opaque { c.FcDefaultSubstitute(self.cval()); } + pub fn delete(self: *Pattern, obj: [:0]const u8) bool { + return c.FcPatternDel(self.cval(), obj.ptr) == c.FcTrue; + } + + pub fn filter(self: *Pattern, os: *const ObjectSet) *Pattern { + return @ptrCast(*Pattern, c.FcPatternFilter(self.cval(), os.cval())); + } + pub fn objectIterator(self: *Pattern) ObjectIterator { return .{ .pat = self.cval(), .iter = null }; }