Mercurial > mplayer.hg
comparison libass/ass_mp.c @ 19646:e6cdf80eb941
ass-color and ass-border-color options.
Only plain text subtitles are affected.
author | eugeni |
---|---|
date | Sun, 03 Sep 2006 12:18:49 +0000 |
parents | f48d49b400cf |
children | 2c016957360a |
comparison
equal
deleted
inserted
replaced
19645:da6ec282d26c | 19646:e6cdf80eb941 |
---|---|
3 #include <stdlib.h> | 3 #include <stdlib.h> |
4 | 4 |
5 #include "mp_msg.h" | 5 #include "mp_msg.h" |
6 | 6 |
7 #include "ass.h" | 7 #include "ass.h" |
8 #include "ass_utils.h" | |
8 #include "ass_mp.h" | 9 #include "ass_mp.h" |
9 | 10 |
10 // libass-related command line options | 11 // libass-related command line options |
11 int ass_enabled = 0; | 12 int ass_enabled = 0; |
12 float ass_font_scale = 1.; | 13 float ass_font_scale = 1.; |
14 int ass_top_margin = 0; | 15 int ass_top_margin = 0; |
15 int ass_bottom_margin = 0; | 16 int ass_bottom_margin = 0; |
16 int extract_embedded_fonts = 0; | 17 int extract_embedded_fonts = 0; |
17 char **ass_force_style_list = NULL; | 18 char **ass_force_style_list = NULL; |
18 int ass_use_margins = 0; | 19 int ass_use_margins = 0; |
20 char* ass_color = NULL; | |
21 char* ass_border_color = NULL; | |
19 | 22 |
20 extern int font_fontconfig; | 23 extern int font_fontconfig; |
21 extern char* font_name; | 24 extern char* font_name; |
22 extern float text_font_scale_factor; | 25 extern float text_font_scale_factor; |
23 extern int subtitle_autoscale; | 26 extern int subtitle_autoscale; |
28 ass_track_t* ass_default_track() { | 31 ass_track_t* ass_default_track() { |
29 ass_track_t* track = ass_new_track(); | 32 ass_track_t* track = ass_new_track(); |
30 ass_style_t* style; | 33 ass_style_t* style; |
31 int sid; | 34 int sid; |
32 double fs; | 35 double fs; |
36 uint32_t c1, c2; | |
33 | 37 |
34 track->track_type = TRACK_TYPE_ASS; | 38 track->track_type = TRACK_TYPE_ASS; |
35 track->Timer = 100.; | 39 track->Timer = 100.; |
36 track->PlayResX = 384; | 40 track->PlayResX = 384; |
37 track->PlayResY = 288; | 41 track->PlayResY = 288; |
48 fs *= 1.3; | 52 fs *= 1.3; |
49 else if (subtitle_autoscale == 3) | 53 else if (subtitle_autoscale == 3) |
50 fs *= 1.4; | 54 fs *= 1.4; |
51 style->FontSize = fs; | 55 style->FontSize = fs; |
52 | 56 |
53 style->PrimaryColour = 0xFFFF0000; | 57 if (ass_color) c1 = strtoll(ass_color, NULL, 16); |
54 style->SecondaryColour = 0xFFFF0000; | 58 else c1 = 0xFFFF0000; |
55 style->OutlineColour = 0x00000000; | 59 if (ass_border_color) c2 = strtoll(ass_border_color, NULL, 16); |
60 else c2 = 0x00000000; | |
61 | |
62 style->PrimaryColour = c1; | |
63 style->SecondaryColour = c1; | |
64 style->OutlineColour = c2; | |
56 style->BackColour = 0x00000000; | 65 style->BackColour = 0x00000000; |
57 style->BorderStyle = 1; | 66 style->BorderStyle = 1; |
58 style->Alignment = 2; | 67 style->Alignment = 2; |
59 style->Outline = 2; | 68 style->Outline = 2; |
60 style->MarginL = 30; | 69 style->MarginL = 30; |