changeset 23173:1170ac4d7f5b

Move transform_3d() call to get_bitmap_glyph().
author eugeni
date Tue, 01 May 2007 15:12:36 +0000
parents 37cf8cb6d6a3
children 29b5596adecd
files libass/ass_render.c
diffstat 1 files changed, 9 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- 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);
-			}
 		}
 	}