]> git.sesse.net Git - vlc/commitdiff
* modules/misc/freetype.c, modules/video_filter/marq.c, time.c: a few fixes.
authorGildas Bazin <gbazin@videolan.org>
Tue, 8 Mar 2005 10:58:49 +0000 (10:58 +0000)
committerGildas Bazin <gbazin@videolan.org>
Tue, 8 Mar 2005 10:58:49 +0000 (10:58 +0000)
modules/misc/freetype.c
modules/video_filter/marq.c
modules/video_filter/time.c

index f45319652e69a0e5dfc98664e80e4d3ac6f2d88f..7d3e5c32b09f99c74b381c18c267e715a8084d9c 100644 (file)
@@ -209,7 +209,7 @@ static int Create( vlc_object_t *p_this )
     var_Create( p_filter, "freetype-color",
                 VLC_VAR_INTEGER | VLC_VAR_DOINHERIT );
     var_Get( p_filter, "freetype-color", &val );
-    p_sys->i_font_color = __MIN( val.i_int, 0xFFFFFF );
+    p_sys->i_font_color = __MAX( __MIN( val.i_int, 0xFFFFFF ), 0 );
 
     /* Look what method was requested */
     var_Get( p_filter, "freetype-font", &val );
@@ -359,8 +359,9 @@ static int Render( filter_t *p_filter, subpicture_region_t *p_region,
         fmt.p_palette->palette[i][0] = i * i_y / 256;
         fmt.p_palette->palette[i][1] = i_u;
         fmt.p_palette->palette[i][2] = i_v;
+        fmt.p_palette->palette[i][3] = i + (255 - i) / 16;
         fmt.p_palette->palette[i][3] =
-            i + (256 - i) * (256 / (255 - p_line->i_alpha)) / 16;
+            (int)fmt.p_palette->palette[i][3] * (255 - p_line->i_alpha) / 255;
     }
     fmt.p_palette->palette[0][3] = 0;
 
@@ -459,13 +460,13 @@ static int RenderText( filter_t *p_filter, subpicture_region_t *p_region_out,
     psz_string = p_region_in->psz_text;
     if( !psz_string || !*psz_string ) return VLC_EGENERIC;
 
-    i_font_color = 0xFFFFFF;//p_region_in->i_text_color;
+    i_font_color = __MAX( __MIN( p_region_in->i_text_color, 0xFFFFFF ), 0 );
     if( i_font_color == 0xFFFFFF ) i_font_color = p_sys->i_font_color;
 
-    i_font_alpha = p_region_in->i_text_alpha;
+    i_font_alpha = __MAX( __MIN( p_region_in->i_text_alpha, 255 ), 0 );
     if( !i_font_alpha ) i_font_alpha = 255 - p_sys->i_font_opacity;
 
-    i_font_size  = p_region_in->i_text_size;
+    i_font_size  = __MAX( __MIN( p_region_in->i_text_size, 255 ), 0 );
     if( !i_font_size ) i_font_size  = p_sys->i_font_size;
 
     i_red   = ( i_font_color & 0x00FF0000 ) >> 16;
index f84a98fe5de1e049592aa3573691cd0b665f874f..50479e0b2553b28099c65168df7ec534331eccfb 100644 (file)
@@ -83,7 +83,7 @@ struct filter_sys_t
 #define TIMEOUT_LONGTEXT N_("Defines the time the marquee must remain " \
                             "displayed, in milliseconds. Default value is " \
                             "0 (remain forever).")
-#define OPACITY_TEXT N_("Opacity, -1..255")
+#define OPACITY_TEXT N_("Opacity, 0..255")
 #define OPACITY_LONGTEXT N_("The opacity (inverse of transparency) of " \
     "overlay text. 0 = transparent, 255 = totally opaque. " )
 #define SIZE_TEXT N_("Font size, pixels")
@@ -91,8 +91,8 @@ struct filter_sys_t
     "with -1 = use freetype-fontsize" )
 
 #define COLOR_TEXT N_("Text Default Color")
-#define COLOR_LONGTEXT N_("The color of overlay text. 1 byte for each color, hexadecimal." \
-    "-1 = use freetype-color, #000000 = all colors off, " \
+#define COLOR_LONGTEXT N_("The color of overlay text. 1 byte for each color, hexadecimal. " \
+    "#000000 = all colors off, " \
     "0xFF0000 = just Red, 0xFFFFFF = all color on [White]" )
 
 #define POS_TEXT N_("Marquee position")
@@ -123,9 +123,9 @@ vlc_module_begin();
     add_integer( "marq-position", 5, NULL, POS_TEXT, POS_LONGTEXT, VLC_TRUE );
     /* 5 sets the default to top [1] left [4] */
     change_integer_list( pi_pos_values, ppsz_pos_descriptions, 0 );
-    add_integer_with_range( "marq-opacity", 0, 0, 255, NULL,
+    add_integer_with_range( "marq-opacity", 255, 0, 255, NULL,
         OPACITY_TEXT, OPACITY_LONGTEXT, VLC_FALSE );
-    add_integer( "marq-color", -1, NULL, COLOR_TEXT, COLOR_LONGTEXT, VLC_TRUE );
+    add_integer( "marq-color", 0xFFFFFF, NULL, COLOR_TEXT, COLOR_LONGTEXT, VLC_TRUE );
         change_integer_list( pi_color_values, ppsz_color_descriptions, 0 );
     add_integer( "marq-size", -1, NULL, SIZE_TEXT, SIZE_LONGTEXT, VLC_FALSE );
 
@@ -277,7 +277,7 @@ static subpicture_t *Filter( filter_t *p_filter, mtime_t date )
         p_spu->b_absolute = VLC_TRUE;
     }
     p_spu->p_region->i_text_color = p_sys->i_font_color;
-    p_spu->p_region->i_text_alpha = p_sys->i_font_opacity;
+    p_spu->p_region->i_text_alpha = 255 - p_sys->i_font_opacity;
     p_spu->p_region->i_text_size = p_sys->i_font_size;
     
 
index 2df0f8e6bf6c6c5a25ae6f36d74195e99b18234c..744a9b7f6eff2e39aced8fd458aec7d2a9433c66 100644 (file)
@@ -80,8 +80,8 @@ struct filter_sys_t
     "with -1 = use freetype-fontsize" )
 
 #define COLOR_TEXT N_("Text Default Color")
-#define COLOR_LONGTEXT N_("The color of overlay text. 1 byte for each color, hexadecimal." \
-    "-1 = use freetype-color, #000000 = all colors off, " \
+#define COLOR_LONGTEXT N_("The color of overlay text. 1 byte for each color, hexadecimal. " \
+    "#000000 = all colors off, " \
     "0xFF0000 = just Red, 0xFFFFFF = all color on [White]" )
 #define POS_TEXT N_("Time position")
 #define POS_LONGTEXT N_( \
@@ -109,9 +109,9 @@ vlc_module_begin();
     add_integer( "time-position", 9, NULL, POS_TEXT, POS_LONGTEXT, VLC_TRUE );
     /* 9 sets the default to bottom-left, minimizing jitter */
     change_integer_list( pi_pos_values, ppsz_pos_descriptions, 0 );
-    add_integer_with_range( "time-opacity", 0, 0, 255, NULL,
+    add_integer_with_range( "time-opacity", 255, 0, 255, NULL,
         OPACITY_TEXT, OPACITY_LONGTEXT, VLC_FALSE );
-    add_integer( "time-color", -1, NULL, COLOR_TEXT, COLOR_LONGTEXT, VLC_TRUE );
+    add_integer( "time-color", 0xFFFFFF, NULL, COLOR_TEXT, COLOR_LONGTEXT, VLC_TRUE );
         change_integer_list( pi_color_values, ppsz_color_descriptions, 0 );
     add_integer( "time-size", -1, NULL, SIZE_TEXT, SIZE_LONGTEXT, VLC_FALSE );
     set_description( _("Time display sub filter") );