X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.0%2Fplugins%2Ftitler%2Ftitle.C;h=9974c91ab481ab0e6dec24dd5e6aa5e077b28973;hb=5aad2133f228b736f033d6c48e1629078b858286;hp=66755018b012c0640cd6697bffacf9282e90916a;hpb=94e8dc2b306135e7735b2618a54f0f7de7ac7a0c;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.0/plugins/titler/title.C b/cinelerra-5.0/plugins/titler/title.C index 66755018..9974c91a 100644 --- a/cinelerra-5.0/plugins/titler/title.C +++ b/cinelerra-5.0/plugins/titler/title.C @@ -30,7 +30,7 @@ #include "bcsignals.h" #include "clip.h" -#include "colormodels.h" +#include "bccmodels.h" #include "filexml.h" #include "filesystem.h" #include "transportque.inc" @@ -86,7 +86,7 @@ TitleConfig::TitleConfig() fade_out = 0.0; x = 0.0; y = 0.0; - dropshadow = 10; + dropshadow = 2; sprintf(font, "fixed"); sprintf(encoding, DEFAULT_ENCODING); timecode_format = DEFAULT_TIMECODEFORMAT; @@ -204,8 +204,8 @@ void TitleConfig::interpolate(TitleConfig &prev, // this->y = prev.y; timecode = prev.timecode; timecode_format = prev.timecode_format; -// this->dropshadow = (int)(prev.dropshadow * prev_scale + next.dropshadow * next_scale); - this->dropshadow = prev.dropshadow; + this->dropshadow = prev.dropshadow * prev_scale + next.dropshadow * next_scale; +// this->dropshadow = prev.dropshadow; } void TitleConfig::limits() @@ -539,10 +539,14 @@ void TitleUnit::draw_glyph(VFrame *output, VFrame *data, TitleGlyph *glyph, int unsigned char **out_rows = output->get_rows(); int baseline = plugin->get_char_height(); - if(engine->do_dropshadow) { + if( engine->do_dropshadow ) { x += plugin->config.dropshadow; y += plugin->config.dropshadow; } + else if( plugin->config.dropshadow < 0 ) { + x -= plugin->config.dropshadow; + y -= plugin->config.dropshadow; + } int x_in = 0, y_in = 0; int x_out = x + glyph->left; @@ -1734,8 +1738,8 @@ int TitleMain::draw_mask() extent.x1 -= config.outline_size*2; extent.y1 -= config.outline_size*2; - extent.x2 += config.dropshadow + config.outline_size*2; - extent.y2 += config.dropshadow + config.outline_size*2; + extent.x2 += abs(config.dropshadow) + config.outline_size*2; + extent.y2 += abs(config.dropshadow) + config.outline_size*2; // Determine mask geometry mask_w = extent.x2 - extent.x1; @@ -1759,7 +1763,7 @@ int TitleMain::draw_mask() text_mask = new VFrame; text_mask->set_use_shm(0); text_mask->reallocate(0, -1, 0, 0, 0, mask_w, mask_h, color_model, -1); - int drop = !config.dropshadow ? 0 : config.dropshadow; + float drop = abs(config.dropshadow); int drop_w = mask_w + drop; int drop_h = mask_h + drop; text_mask_stroke = new VFrame;