Mercurial > mplayer.hg
annotate libass/ass_types.h @ 34300:77976b68285b
Commit added forgotten in previous commit.
author | reimar |
---|---|
date | Sat, 03 Dec 2011 23:08:03 +0000 |
parents | 6e7f60f6f9d4 |
children | c3aaaf17c721 |
rev | line source |
---|---|
20008
fa122b7c71c6
Add copyright notice and vim/emacs comments to libass and vf_ass.c.
eugeni
parents:
19638
diff
changeset
|
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 */ |
20008
fa122b7c71c6
Add copyright notice and vim/emacs comments to libass and vf_ass.c.
eugeni
parents:
19638
diff
changeset
|
18 |
25897
aaebaf255b23
Consistently give all libass multiple inclusion guards a LIBASS_ prefix.
diego
parents:
25535
diff
changeset
|
19 #ifndef LIBASS_TYPES_H |
aaebaf255b23
Consistently give all libass multiple inclusion guards a LIBASS_ prefix.
diego
parents:
25535
diff
changeset
|
20 #define LIBASS_TYPES_H |
18937 | 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 |
18937 | 24 #define VALIGN_SUB 0 |
25 #define VALIGN_CENTER 8 | |
26 #define VALIGN_TOP 4 | |
27 #define HALIGN_LEFT 1 | |
28 #define HALIGN_CENTER 2 | |
29 #define HALIGN_RIGHT 3 | |
30 | |
30200 | 31 /* Opaque objects internally used by libass. Contents are private. */ |
32 typedef struct ass_renderer ASS_Renderer; | |
33 typedef struct render_priv ASS_RenderPriv; | |
34 typedef struct parser_priv ASS_ParserPriv; | |
35 typedef struct ass_library ASS_Library; | |
18937 | 36 |
30200 | 37 /* ASS Style: line */ |
38 typedef struct ass_style { | |
39 char *Name; | |
40 char *FontName; | |
41 double FontSize; | |
42 uint32_t PrimaryColour; | |
43 uint32_t SecondaryColour; | |
44 uint32_t OutlineColour; | |
45 uint32_t BackColour; | |
46 int Bold; | |
47 int Italic; | |
48 int Underline; | |
49 int StrikeOut; | |
50 double ScaleX; | |
51 double ScaleY; | |
52 double Spacing; | |
53 int Angle; | |
54 int BorderStyle; | |
55 double Outline; | |
56 double Shadow; | |
57 int Alignment; | |
58 int MarginL; | |
59 int MarginR; | |
60 int MarginV; | |
61 int Encoding; | |
62 int treat_fontname_as_pattern; | |
63 } ASS_Style; | |
19638
a3473d990fed
Better collision detection algorithm. The idea is to keep a subtitle in place
eugeni
parents:
19492
diff
changeset
|
64 |
30200 | 65 /* |
66 * ASS_Event corresponds to a single Dialogue line; | |
67 * text is stored as-is, style overrides will be parsed later. | |
68 */ | |
69 typedef struct ass_event { | |
70 long long Start; // ms | |
71 long long Duration; // ms | |
18937 | 72 |
30200 | 73 int ReadOrder; |
74 int Layer; | |
75 int Style; | |
76 char *Name; | |
77 int MarginL; | |
78 int MarginR; | |
79 int MarginV; | |
80 char *Effect; | |
81 char *Text; | |
19638
a3473d990fed
Better collision detection algorithm. The idea is to keep a subtitle in place
eugeni
parents:
19492
diff
changeset
|
82 |
30200 | 83 ASS_RenderPriv *render_priv; |
84 } ASS_Event; | |
20477 | 85 |
30200 | 86 /* |
87 * ass track represent either an external script or a matroska subtitle stream | |
88 * (no real difference between them); it can be used in rendering after the | |
89 * headers are parsed (i.e. events format line read). | |
90 */ | |
91 typedef struct ass_track { | |
92 int n_styles; // amount used | |
93 int max_styles; // amount allocated | |
94 int n_events; | |
95 int max_events; | |
96 ASS_Style *styles; // array of styles, max_styles length, n_styles used | |
97 ASS_Event *events; // the same as styles | |
18937 | 98 |
30200 | 99 char *style_format; // style format line (everything after "Format: ") |
100 char *event_format; // event format line | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
28860
diff
changeset
|
101 |
30200 | 102 enum { |
103 TRACK_TYPE_UNKNOWN = 0, | |
104 TRACK_TYPE_ASS, | |
105 TRACK_TYPE_SSA | |
106 } track_type; | |
18937 | 107 |
30200 | 108 // Script header fields |
109 int PlayResX; | |
110 int PlayResY; | |
111 double Timer; | |
112 int WrapStyle; | |
113 int ScaledBorderAndShadow; | |
114 int Kerning; | |
34295 | 115 char *Language; |
19492 | 116 |
30200 | 117 int default_style; // index of default style |
118 char *name; // file name in case of external subs, 0 for streams | |
119 | |
120 ASS_Library *library; | |
121 ASS_ParserPriv *parser_priv; | |
122 } ASS_Track; | |
18937 | 123 |
25897
aaebaf255b23
Consistently give all libass multiple inclusion guards a LIBASS_ prefix.
diego
parents:
25535
diff
changeset
|
124 #endif /* LIBASS_TYPES_H */ |