summaryrefslogtreecommitdiffstats
path: root/libass/ass_drawing.c
diff options
context:
space:
mode:
Diffstat (limited to 'libass/ass_drawing.c')
-rw-r--r--libass/ass_drawing.c54
1 files changed, 27 insertions, 27 deletions
diff --git a/libass/ass_drawing.c b/libass/ass_drawing.c
index 0b270c1..95348a2 100644
--- a/libass/ass_drawing.c
+++ b/libass/ass_drawing.c
@@ -33,8 +33,8 @@
/*
* \brief Get and prepare a FreeType glyph
*/
-static void drawing_make_glyph(ass_drawing_t *drawing, void *fontconfig_priv,
- ass_font_t *font, ass_hinting_t hint)
+static void drawing_make_glyph(ASS_Drawing *drawing, void *fontconfig_priv,
+ ASS_Font *font, ASS_Hinting hint)
{
FT_OutlineGlyph glyph;
@@ -55,7 +55,7 @@ static void drawing_make_glyph(ass_drawing_t *drawing, void *fontconfig_priv,
/*
* \brief Add a single point to a contour.
*/
-static inline void drawing_add_point(ass_drawing_t *drawing,
+static inline void drawing_add_point(ASS_Drawing *drawing,
FT_Vector *point)
{
FT_Outline *ol = &drawing->glyph->outline;
@@ -76,7 +76,7 @@ static inline void drawing_add_point(ass_drawing_t *drawing,
/*
* \brief Close a contour and check glyph size overflow.
*/
-static inline void drawing_close_shape(ass_drawing_t *drawing)
+static inline void drawing_close_shape(ASS_Drawing *drawing)
{
FT_Outline *ol = &drawing->glyph->outline;
@@ -93,7 +93,7 @@ static inline void drawing_close_shape(ass_drawing_t *drawing)
/*
* \brief Prepare drawing for parsing. This just sets a few parameters.
*/
-static void drawing_prepare(ass_drawing_t *drawing)
+static void drawing_prepare(ASS_Drawing *drawing)
{
// Scaling parameters
drawing->point_scale_x = drawing->scale_x *
@@ -106,7 +106,7 @@ static void drawing_prepare(ass_drawing_t *drawing)
* \brief Finish a drawing. This only sets the horizontal advance according
* to the glyph's bbox at the moment.
*/
-static void drawing_finish(ass_drawing_t *drawing, int raw_mode)
+static void drawing_finish(ASS_Drawing *drawing, int raw_mode)
{
int i, offset;
FT_BBox bbox;
@@ -150,7 +150,7 @@ static void drawing_finish(ass_drawing_t *drawing, int raw_mode)
/*
* \brief Check whether a number of items on the list is available
*/
-static int token_check_values(ass_drawing_token_t *token, int i, int type)
+static int token_check_values(ASS_DrawingToken *token, int i, int type)
{
int j;
for (j = 0; j < i; j++) {
@@ -162,16 +162,16 @@ static int token_check_values(ass_drawing_token_t *token, int i, int type)
}
/*
- * \brief Tokenize a drawing string into a list of ass_drawing_token_t
+ * \brief Tokenize a drawing string into a list of ASS_DrawingToken
* This also expands points for closing b-splines
*/
-static ass_drawing_token_t *drawing_tokenize(char *str)
+static ASS_DrawingToken *drawing_tokenize(char *str)
{
char *p = str;
int i, val, type = -1, is_set = 0;
FT_Vector point = {0, 0};
- ass_drawing_token_t *root = NULL, *tail = NULL, *spline_start = NULL;
+ ASS_DrawingToken *root = NULL, *tail = NULL, *spline_start = NULL;
while (*p) {
if (*p == 'c' && spline_start) {
@@ -179,7 +179,7 @@ static ass_drawing_token_t *drawing_tokenize(char *str)
// back to the end
if (token_check_values(spline_start->next, 2, TOKEN_B_SPLINE)) {
for (i = 0; i < 3; i++) {
- tail->next = calloc(1, sizeof(ass_drawing_token_t));
+ tail->next = calloc(1, sizeof(ASS_DrawingToken));
tail->next->prev = tail;
tail = tail->next;
tail->type = TOKEN_B_SPLINE;
@@ -214,11 +214,11 @@ static ass_drawing_token_t *drawing_tokenize(char *str)
if (type != -1 && is_set == 2) {
if (root) {
- tail->next = calloc(1, sizeof(ass_drawing_token_t));
+ tail->next = calloc(1, sizeof(ASS_DrawingToken));
tail->next->prev = tail;
tail = tail->next;
} else
- root = tail = calloc(1, sizeof(ass_drawing_token_t));
+ root = tail = calloc(1, sizeof(ASS_DrawingToken));
tail->type = type;
tail->point = point;
is_set = 0;
@@ -230,7 +230,7 @@ static ass_drawing_token_t *drawing_tokenize(char *str)
#if 0
// Check tokens
- ass_drawing_token_t *t = root;
+ ASS_DrawingToken *t = root;
while(t) {
printf("token %d point (%d, %d)\n", t->type, t->point.x, t->point.y);
t = t->next;
@@ -243,10 +243,10 @@ static ass_drawing_token_t *drawing_tokenize(char *str)
/*
* \brief Free a list of tokens
*/
-static void drawing_free_tokens(ass_drawing_token_t *token)
+static void drawing_free_tokens(ASS_DrawingToken *token)
{
while (token) {
- ass_drawing_token_t *at = token;
+ ASS_DrawingToken *at = token;
token = token->next;
free(at);
}
@@ -256,7 +256,7 @@ static void drawing_free_tokens(ass_drawing_token_t *token)
* \brief Translate and scale a point coordinate according to baseline
* offset and scale.
*/
-static inline void translate_point(ass_drawing_t *drawing, FT_Vector *point)
+static inline void translate_point(ASS_Drawing *drawing, FT_Vector *point)
{
point->x = drawing->point_scale_x * point->x;
point->y = drawing->point_scale_y * -point->y;
@@ -267,8 +267,8 @@ static inline void translate_point(ass_drawing_t *drawing, FT_Vector *point)
* This curve evaluator is also used in VSFilter (RTS.cpp); it's a simple
* implementation of the De Casteljau algorithm.
*/
-static void drawing_evaluate_curve(ass_drawing_t *drawing,
- ass_drawing_token_t *token, char spline,
+static void drawing_evaluate_curve(ASS_Drawing *drawing,
+ ASS_DrawingToken *token, char spline,
int started)
{
double cx3, cx2, cx1, cx0, cy3, cy2, cy1, cy0;
@@ -358,10 +358,10 @@ static void drawing_evaluate_curve(ass_drawing_t *drawing,
/*
* \brief Create and initialize a new drawing and return it
*/
-ass_drawing_t *ass_drawing_new(void *fontconfig_priv, ass_font_t *font,
- ass_hinting_t hint, FT_Library lib)
+ASS_Drawing *ass_drawing_new(void *fontconfig_priv, ASS_Font *font,
+ ASS_Hinting hint, FT_Library lib)
{
- ass_drawing_t* drawing;
+ ASS_Drawing* drawing;
drawing = calloc(1, sizeof(*drawing));
drawing->text = calloc(1, DRAWING_INITIAL_SIZE);
@@ -382,7 +382,7 @@ ass_drawing_t *ass_drawing_new(void *fontconfig_priv, ass_font_t *font,
/*
* \brief Free a drawing
*/
-void ass_drawing_free(ass_drawing_t* drawing)
+void ass_drawing_free(ASS_Drawing* drawing)
{
FT_Done_Glyph((FT_Glyph) drawing->glyph);
free(drawing->text);
@@ -392,7 +392,7 @@ void ass_drawing_free(ass_drawing_t* drawing)
/*
* \brief Add one ASCII character to the drawing text buffer
*/
-void ass_drawing_add_char(ass_drawing_t* drawing, char symbol)
+void ass_drawing_add_char(ASS_Drawing* drawing, char symbol)
{
drawing->text[drawing->i++] = symbol;
drawing->text[drawing->i] = 0;
@@ -407,7 +407,7 @@ void ass_drawing_add_char(ass_drawing_t* drawing, char symbol)
* \brief Create a hashcode for the drawing
* XXX: To avoid collisions a better hash algorithm might be useful.
*/
-void ass_drawing_hash(ass_drawing_t* drawing)
+void ass_drawing_hash(ASS_Drawing* drawing)
{
drawing->hash = fnv_32a_str(drawing->text, FNV1_32A_INIT);
}
@@ -415,10 +415,10 @@ void ass_drawing_hash(ass_drawing_t* drawing)
/*
* \brief Convert token list to outline. Calls the line and curve evaluators.
*/
-FT_OutlineGlyph *ass_drawing_parse(ass_drawing_t *drawing, int raw_mode)
+FT_OutlineGlyph *ass_drawing_parse(ASS_Drawing *drawing, int raw_mode)
{
int started = 0;
- ass_drawing_token_t *token;
+ ASS_DrawingToken *token;
FT_Vector pen = {0, 0};
drawing->tokens = drawing_tokenize(drawing->text);