[MPlayer-cvslog] r23191 - trunk/libass/ass_render.c

eugeni subversion at mplayerhq.hu
Tue May 1 17:12:36 CEST 2007


Author: eugeni
Date: Tue May  1 17:12:36 2007
New Revision: 23191

Log:
Move transform_3d() call to get_bitmap_glyph().


Modified:
   trunk/libass/ass_render.c

Modified: trunk/libass/ass_render.c
==============================================================================
--- trunk/libass/ass_render.c	(original)
+++ trunk/libass/ass_render.c	Tue May  1 17:12:36 2007
@@ -1276,6 +1276,8 @@ static void get_outline_glyph(int symbol
 	}
 }
 
+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 @@ static void get_bitmap_glyph(glyph_info_
 		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 @@ static int ass_render_event(ass_event_t*
 		}
 
 		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 @@ static int ass_render_event(ass_event_t*
 				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);
-			}
 		}
 	}
 



More information about the MPlayer-cvslog mailing list