diff options
Diffstat (limited to 'src/wrapped32/wrappedfreetype.c')
| -rw-r--r-- | src/wrapped32/wrappedfreetype.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/wrapped32/wrappedfreetype.c b/src/wrapped32/wrappedfreetype.c index f1b0d2d6..f60d411a 100644 --- a/src/wrapped32/wrappedfreetype.c +++ b/src/wrapped32/wrappedfreetype.c @@ -2607,6 +2607,26 @@ EXPORT uint32_t my32_FT_Get_Name_Index(x64emu_t* emu, void* face, void* name) return ret; } +EXPORT uint16_t my32_FT_Get_FSType_Flags(x64emu_t* emu, void* face) +{ + inplace_FT_FaceRec_enlarge(face); + uint16_t ret = my->FT_Get_FSType_Flags(face); + inplace_FT_FaceRec_shrink(face); + return ret; +} + +EXPORT int my32_FT_Get_Advances(x64emu_t* emu, void* face, uint32_t start, uint32_t count, int flags, long_t* padvances) +{ + signed long advances_l[count]; + memset(advances_l, 0, sizeof(advances_l)); + inplace_FT_FaceRec_enlarge(face); + int ret = my->FT_Get_Advances(face, start, count, flags, advances_l); + inplace_FT_FaceRec_shrink(face); + for(int i=0; i<count; ++i) + padvances[i] = to_long(advances_l[i]); + return ret; +} + EXPORT void my32_FT_Outline_Get_CBox(x64emu_t* emu, FT_Outline_32_t* outline, FT_BBox_32_t* bbox) { FT_Outline_t outline_l = {0}; @@ -2790,6 +2810,15 @@ EXPORT int my32_FT_Get_Glyph(x64emu_t* emu, FT_GlyphSlotRec_32_t* slot, ptr_t* g return ret; } +EXPORT int my32_FT_GlyphSlot_Own_Bitmap(x64emu_t* emu, FT_GlyphSlotRec_32_t* slot) +{ + FT_GlyphSlotRec_t slot_l = {0}; + convert_FT_GlyphSlot_to_64(&slot_l, slot); + int ret = my->FT_GlyphSlot_Own_Bitmap(&slot_l); + convert_FT_GlyphSlot_to_32(slot, &slot_l); //usefull? + return ret; +} + EXPORT int my32_FT_Glyph_Copy(x64emu_t* emu, void* src, void** dst) { inplace_FT_Glyph_enlarge(src); |