# HG changeset patch # User eugeni # Date 1178032356 0 # Node ID 1170ac4d7f5bcfa6be31f137e409889e8926c29b # Parent 37cf8cb6d6a367363152976b8fac3a5e9fe319b5 Move transform_3d() call to get_bitmap_glyph(). diff -r 37cf8cb6d6a3 -r 1170ac4d7f5b libass/ass_render.c --- a/libass/ass_render.c Tue May 01 15:07:41 2007 +0000 +++ b/libass/ass_render.c Tue May 01 15:12:36 2007 +0000 @@ -1276,6 +1276,8 @@ } } +static void transform_3d(FT_Vector shift, FT_Glyph* glyph, FT_Glyph* glyph2, double frx, double fry, double frz); + /** * \brief Get normal and outline glyphs from cache (if possible) or font face * \param index face glyph index @@ -1296,8 +1298,14 @@ info->bm = val->bm; info->bm_o = val->bm_o; info->bm_s = val->bm_s; - } else + } else { + FT_Vector shift; info->bm = info->bm_o = info->bm_s = 0; + // calculating shift vector + shift.x = int_to_d6(info->hash_key.shift_x); + shift.y = int_to_d6(info->hash_key.shift_y); + transform_3d(shift, &info->glyph, &info->outline_glyph, info->frx, info->fry, info->frz); + } } /** @@ -1949,7 +1957,6 @@ } for (i = 0; i < text_info.length; ++i) { - FT_Vector shift; glyph_info_t* info = text_info.glyphs + i; if (info->hash_key.frx || info->hash_key.fry || info->hash_key.frz) { @@ -1960,14 +1967,6 @@ info->hash_key.shift_y = 0; } get_bitmap_glyph(info); - - if (info->bm == 0) { - // calculating shift vector - shift.x = int_to_d6(info->hash_key.shift_x); - shift.y = int_to_d6(info->hash_key.shift_y); - - transform_3d(shift, &info->glyph, &info->outline_glyph, info->frx, info->fry, info->frz); - } } }