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;