From f6f1187526a335086d22158e186f7a021f330f97 Mon Sep 17 00:00:00 2001 From: Ali Chraghi Date: Thu, 25 Aug 2022 17:18:28 +0430 Subject: [PATCH] freetype: complete *Quick retrieval of advance value* binding --- freetype/src/Face.zig | 10 ++++++++++ freetype/src/c.zig | 1 + 2 files changed, 11 insertions(+) diff --git a/freetype/src/Face.zig b/freetype/src/Face.zig index 3f2a5d10..214f4f9f 100644 --- a/freetype/src/Face.zig +++ b/freetype/src/Face.zig @@ -308,6 +308,16 @@ pub fn availableSizes(self: Face) ?BitmapSize { null; } +pub fn getAdvance(self: Face, glyph_index: u32, load_flags: LoadFlags) Error!i32 { + var a: i32 = 0; + try intToError(c.FT_Get_Advance(self.handle, glyph_index, load_flags.cast(), &@intCast(c_long, a))); + return a; +} + +pub fn getAdvances(self: Face, start: u32, advances_out: []c_long, load_flags: LoadFlags) Error!void { + try intToError(c.FT_Get_Advances(self.handle, start, @intCast(c_uint, advances_out.len), load_flags.cast(), advances_out.ptr)); +} + pub fn numCharmaps(self: Face) u32 { return @intCast(u32, self.handle.*.num_charmaps); } diff --git a/freetype/src/c.zig b/freetype/src/c.zig index 0e59af97..992c6ff0 100644 --- a/freetype/src/c.zig +++ b/freetype/src/c.zig @@ -1,5 +1,6 @@ pub usingnamespace @cImport({ @cInclude("hb-ft.h"); + @cInclude("freetype/ftadvanc.h"); @cInclude("freetype/ftbbox.h"); @cInclude("freetype/ftbitmap.h"); @cInclude("freetype/ftcolor.h");