]> granicus.if.org Git - libass/commitdiff
Some debugging routines.
authoreugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2>
Fri, 22 Feb 2008 19:31:51 +0000 (19:31 +0000)
committereugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2>
Fri, 22 Feb 2008 19:31:51 +0000 (19:31 +0000)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26066 b3059339-0415-0410-9bf9-f77b7e298cf2

libass/ass_utils.c
libass/ass_utils.h

index 3be71b8f31a10b2250d21d8b20275bfd1a45123a..eaa3455f0790da7d48858165a13da52d492381a3 100644 (file)
@@ -22,6 +22,8 @@
 
 #include <stdlib.h>
 #include <inttypes.h>
+#include <ft2build.h>
+#include FT_GLYPH_H
 
 #include "mputils.h"
 #include "ass_utils.h"
@@ -79,3 +81,27 @@ int strtocolor(char** q, uint32_t* res)
        return result;
 }
 
+static void sprint_tag(uint32_t tag, char* dst)
+{
+       dst[0] = (tag >> 24) & 0xFF;
+       dst[1] = (tag >> 16) & 0xFF;
+       dst[2] = (tag >> 8) & 0xFF;
+       dst[3] = tag & 0xFF;
+       dst[4] = 0;
+}
+
+void dump_glyph(FT_Glyph g)
+{
+       char tag[5];
+       int i;
+       FT_OutlineGlyph og = (FT_OutlineGlyph)g;
+       FT_Outline* o = &(og->outline);
+       sprint_tag(g->format, tag);
+       printf("glyph: %p \n", g);
+       printf("format: %s \n", tag);
+       printf("outline: %p \n", o);
+       printf("contours: %d, points: %d, points ptr: %p \n", o->n_contours, o->n_points, o->points);
+       for (i = 0; i < o->n_points; ++i) {
+               printf("  point %f, %f \n", d6_to_double(o->points[i].x), d6_to_double(o->points[i].y));
+       }
+}
index f5744097834eb65e1d9c188d5b7aef7710242d85..0d121a8a12aedeea1bf21459ccfba4d2cd6d7785 100644 (file)
@@ -25,6 +25,7 @@ int mystrtoi(char** p, int base, int* res);
 int mystrtou32(char** p, int base, uint32_t* res);
 int mystrtod(char** p, double* res);
 int strtocolor(char** q, uint32_t* res);
+void dump_glyph(FT_Glyph g);
 
 static inline int d6_to_int(int x) {
        return (x + 32) >> 6;