X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fresourcepixmap.C;h=53c116d6bf93f2a1994398d97c7cd9c5286e4212;hp=9ed12d9357dc71fdef5f83de4f277ec43e408f33;hb=de541aa9508555c35ea284d5b03617fc9c7cd026;hpb=3abbd84aa85907d646b13c98295ce778d2a71215 diff --git a/cinelerra-5.1/cinelerra/resourcepixmap.C b/cinelerra-5.1/cinelerra/resourcepixmap.C index 9ed12d93..53c116d6 100644 --- a/cinelerra-5.1/cinelerra/resourcepixmap.C +++ b/cinelerra-5.1/cinelerra/resourcepixmap.C @@ -155,7 +155,7 @@ void ResourcePixmap::draw_data(TrackCanvas *canvas, int refresh_w = 0; // Ignore if called by resourcethread. -// if( mode == IGNORE_THREAD ) return; + if( mode == IGNORE_THREAD ) return; int y = 0; if( edit->track->show_titles() ) @@ -238,6 +238,8 @@ VFrame *ResourcePixmap::change_title_color(VFrame *title_bg, int color) VFrame *title_bar = new VFrame(tw, th, colormodel); uint8_t **bar_rows = title_bar->get_rows(); const uint8_t gap_grey = 0x4a; + union { unsigned rgba; struct { uint8_t r,g,b,a; }; } c; + c.r = color>>16; c.g = color>>8; c.b = color>>0; c.a = 0xff; if( BC_CModels::has_alpha(colormodel) && // fast path BC_CModels::calculate_pixelsize(colormodel) == sizeof(unsigned) ) { const unsigned gap_rgba = (0xff<<24) | @@ -246,16 +248,14 @@ VFrame *ResourcePixmap::change_title_color(VFrame *title_bg, int color) unsigned *bp = (unsigned *)bar_rows[0]; for( int i=tw; --i>=0; ) *bp++ = gap_rgba; } - unsigned rgba = (0xff<<24) | (color & 0xffffff); for( int y=1; y 0 ) *bp++ = gap_rgba; - for( int i=tw1; --i>0; ++bp ) *bp = rgba; + for( int i=tw1; --i>0; ++bp ) *bp = c.rgba; if( tw > 1 ) *bp = gap_rgba; } } else { - uint8_t cr = (color>>16), cg = (color>>8), cb = (color>>0); if( th > 0 ) { uint8_t *cp = bar_rows[0]; for( int x=0; x 3 ) cp[3] = 0xff; cp += bpp; } @@ -523,9 +523,9 @@ void ResourcePixmap::draw_audio_source(TrackCanvas *canvas, Edit *edit, int x, i y2 = CLIP(y1, 0, y_max); //printf("ResourcePixmap::draw_audio_source %d %d %d\n", __LINE__, y1, y2); if( !rect_audio ) - canvas->draw_line(x1, y0, x2, y2, this); + canvas->draw_bline(x1, y0, x2, y2, this); else - canvas->draw_line(x2, center_pixel, x2, y2, this); + canvas->draw_bline(x2, center_pixel, x2, y2, this); } } @@ -595,7 +595,7 @@ void ResourcePixmap::draw_wave(TrackCanvas *canvas, { int rect_audio = mwindow->preferences->rectify_audio; if( rect_audio ) { low = fabs(low); high = fabs(high); } - int top_pixel = mwindow->edl->session->show_titles ? 0 : + int top_pixel = !mwindow->edl->session->show_titles ? 0 : mwindow->theme->get_image("title_bg_data")->get_h(); int center_pixel = !rect_audio ? mwindow->edl->local_session->zoom_track / 2 + top_pixel :