annotate libass/ass_types.h @ 19382:7c6c205b88b6

trying to fix the reverting paragraph if you dissagree, dont hesitate to revert this commit or flame, but at least we should not claim that svn cannot revert commits except by recommiting the old version
author michael
date Sun, 13 Aug 2006 22:14:32 +0000
parents 9e95ac641e77
children c8daf3471201
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18937
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
1 #ifndef __ASS_TYPES_H__
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
2 #define __ASS_TYPES_H__
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
3
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
4 #define VALIGN_SUB 0
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
5 #define VALIGN_CENTER 8
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
6 #define VALIGN_TOP 4
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
7 #define HALIGN_LEFT 1
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
8 #define HALIGN_CENTER 2
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
9 #define HALIGN_RIGHT 3
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
10
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
11 /// ass Style: line
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
12 typedef struct ass_style_s {
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
13 char* Name;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
14 char* FontName;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
15 int FontSize;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
16 uint32_t PrimaryColour;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
17 uint32_t SecondaryColour;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
18 uint32_t OutlineColour;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
19 uint32_t BackColour;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
20 int Bold;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
21 int Italic;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
22 int Underline;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
23 int StrikeOut;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
24 double ScaleX;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
25 double ScaleY;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
26 int Spacing;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
27 int Angle;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
28 int BorderStyle;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
29 double Outline;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
30 double Shadow;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
31 int Alignment;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
32 int MarginL;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
33 int MarginR;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
34 int MarginV;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
35 // int AlphaLevel;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
36 int Encoding;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
37 } ass_style_t;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
38
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
39 /// ass_event_t corresponds to a single Dialogue line
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
40 /// Text is stored as-is, style overrides will be parsed later
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
41 typedef struct ass_event_s {
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
42 long long Start; // ms
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
43 long long Duration; // ms
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
44
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
45 int ReadOrder;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
46 int Layer;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
47 int Style;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
48 char* Name;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
49 int MarginL;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
50 int MarginR;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
51 int MarginV;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
52 char* Effect;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
53 char* Text;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
54 } ass_event_t;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
55
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
56 /// ass track represent either an external script or a matroska subtitle stream (no real difference between them)
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
57 /// it can be used in rendering after the headers are parsed (i.e. events format line read)
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
58 typedef struct ass_track_s {
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
59 int n_styles; // amount used
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
60 int max_styles; // amount allocated
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
61 int n_events;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
62 int max_events;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
63 ass_style_t* styles; // array of styles, max_styles length, n_styles used
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
64 ass_event_t* events; // the same as styles
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
65
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
66 char* style_format; // style format line (everything after "Format: ")
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
67 char* event_format; // event format line
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
68
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
69 enum {TRACK_TYPE_ASS, TRACK_TYPE_SSA} track_type;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
70
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
71 // script header fields
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
72 int PlayResX;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
73 int PlayResY;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
74 double Timer;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
75 int WrapStyle;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
76
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
77
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
78 int default_style; // index of default style
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
79 char* name; // file name in case of external subs, 0 for streams
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
80 } ass_track_t;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
81
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
82 #endif
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
83