Mercurial > mplayer.hg
annotate libass/ass_font.h @ 34025:e7f393cb9d0f
Get rid of X11_FULLSCREEN.
It seems likely the code does not compile when it is not defined anyway,
it is unclear what its purpose is, and lastly vos changing there
behaviour depending on whether some otherwise completely unrelated
vo (e.g. vo_gl) is enabled seems like really bad idea.
author | reimar |
---|---|
date | Mon, 19 Sep 2011 22:11:12 +0000 |
parents | 88eebbbbd6a0 |
children | 6e7f60f6f9d4 |
rev | line source |
---|---|
21277 | 1 /* |
26723 | 2 * Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com> |
3 * | |
26738
588ce97b44f2
Speak of libass instead of MPlayer in the libass license headers.
diego
parents:
26723
diff
changeset
|
4 * This file is part of libass. |
26723 | 5 * |
34011 | 6 * Permission to use, copy, modify, and distribute this software for any |
7 * purpose with or without fee is hereby granted, provided that the above | |
8 * copyright notice and this permission notice appear in all copies. | |
26723 | 9 * |
34011 | 10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
26723 | 17 */ |
21277 | 18 |
25897
aaebaf255b23
Consistently give all libass multiple inclusion guards a LIBASS_ prefix.
diego
parents:
25535
diff
changeset
|
19 #ifndef LIBASS_FONT_H |
aaebaf255b23
Consistently give all libass multiple inclusion guards a LIBASS_ prefix.
diego
parents:
25535
diff
changeset
|
20 #define LIBASS_FONT_H |
21277 | 21 |
26138
74055622161d
Add missing header #includes to fix 'make checkheaders'.
diego
parents:
25897
diff
changeset
|
22 #include <stdint.h> |
74055622161d
Add missing header #includes to fix 'make checkheaders'.
diego
parents:
25897
diff
changeset
|
23 #include <ft2build.h> |
74055622161d
Add missing header #includes to fix 'make checkheaders'.
diego
parents:
25897
diff
changeset
|
24 #include FT_GLYPH_H |
74055622161d
Add missing header #includes to fix 'make checkheaders'.
diego
parents:
25897
diff
changeset
|
25 #include "ass.h" |
74055622161d
Add missing header #includes to fix 'make checkheaders'.
diego
parents:
25897
diff
changeset
|
26 #include "ass_types.h" |
74055622161d
Add missing header #includes to fix 'make checkheaders'.
diego
parents:
25897
diff
changeset
|
27 |
30200 | 28 #define ASS_FONT_MAX_FACES 10 |
29 #define DECO_UNDERLINE 1 | |
30 #define DECO_STRIKETHROUGH 2 | |
21321
7b7627ff1937
Move ass_font_desc_t and ass_font_t declarations to ass_font.h.
eugeni
parents:
21317
diff
changeset
|
31 |
30200 | 32 typedef struct { |
33 char *family; | |
34 unsigned bold; | |
35 unsigned italic; | |
36 int treat_family_as_pattern; | |
31853 | 37 int vertical; // @font vertical layout |
30200 | 38 } ASS_FontDesc; |
21619
b4b51eb2904f
Keep reselected fonts in an array, adding new ones to the end. Glyph
eugeni
parents:
21618
diff
changeset
|
39 |
30200 | 40 typedef struct { |
41 ASS_FontDesc desc; | |
42 ASS_Library *library; | |
43 FT_Library ftlibrary; | |
44 FT_Face faces[ASS_FONT_MAX_FACES]; | |
45 int n_faces; | |
46 double scale_x, scale_y; // current transform | |
47 FT_Vector v; // current shift | |
48 double size; | |
49 } ASS_Font; | |
21277 | 50 |
30200 | 51 // FIXME: passing the hashmap via a void pointer is very ugly. |
52 ASS_Font *ass_font_new(void *font_cache, ASS_Library *library, | |
53 FT_Library ftlibrary, void *fc_priv, | |
54 ASS_FontDesc *desc); | |
55 void ass_font_set_transform(ASS_Font *font, double scale_x, | |
56 double scale_y, FT_Vector *v); | |
57 void ass_font_set_size(ASS_Font *font, double size); | |
58 void ass_font_get_asc_desc(ASS_Font *font, uint32_t ch, int *asc, | |
59 int *desc); | |
60 FT_Glyph ass_font_get_glyph(void *fontconfig_priv, ASS_Font *font, | |
61 uint32_t ch, ASS_Hinting hinting, int flags); | |
62 FT_Vector ass_font_get_kerning(ASS_Font *font, uint32_t c1, uint32_t c2); | |
63 void ass_font_free(ASS_Font *font); | |
31853 | 64 void fix_freetype_stroker(FT_OutlineGlyph glyph, int border_x, int border_y); |
21277 | 65 |
30200 | 66 #endif /* LIBASS_FONT_H */ |