X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Ftheme.C;h=4141f08fabc7c6449d06a1eac23430cc83dd441d;hp=5a1d95d6d5a83f72eca472f10f1e7ddc16a7b6ca;hb=fb661e853152fd63537629a20f493a4cdcd4f019;hpb=258d9cb69d560f40961acdd20866e12e940c2f93 diff --git a/cinelerra-5.1/cinelerra/theme.C b/cinelerra-5.1/cinelerra/theme.C index 5a1d95d6..4141f08f 100644 --- a/cinelerra-5.1/cinelerra/theme.C +++ b/cinelerra-5.1/cinelerra/theme.C @@ -94,7 +94,7 @@ Theme::Theme() preferences_category_overlap = 0; loadmode_w = 350; - czoom_w = 80; + czoom_w = 110; #include "data/about_bg_png.h" about_bg = new VFramePng(about_bg_png); @@ -131,6 +131,7 @@ Theme::Theme() ffmpeg_toggle = 0; proxy_s_toggle = 0; proxy_p_toggle = 0; + mask_mode_toggle = 0; infoasset_data = 0; in_point = 0; insert_data = 0; @@ -139,6 +140,7 @@ Theme::Theme() lift_data = 0; maskkeyframe_data = 0; modekeyframe_data = 0; + hardedge_data = 0; movedn_data = 0; moveup_data = 0; newbin_data = 0; @@ -896,36 +898,34 @@ void Theme::draw_rwindow_bg(RecordGUI *gui) } -void Theme::draw_resource_bg(TrackCanvas *canvas, - ResourcePixmap *pixmap, - int edit_x, - int edit_w, - int pixmap_x, - int x1, - int y1, - int x2, - int y2) +void Theme::draw_resource_bg(TrackCanvas *canvas, ResourcePixmap *pixmap, int color, + int edit_x, int edit_w, int pixmap_x, int x1, int y1, int x2, int y2) { - VFrame *image; + VFrame *image = 0; - switch(mwindow->edl->local_session->zoom_track) - { + switch(mwindow->edl->local_session->zoom_track) { case 1024: image = get_image("resource1024"); break; case 512: image = get_image("resource512"); break; case 256: image = get_image("resource256"); break; case 128: image = get_image("resource128"); break; case 64: image = get_image("resource64"); break; - default: - case 32: image = get_image("resource32"); break; } - - canvas->draw_3segmenth(x1, - y1, - x2 - x1, - edit_x - pixmap_x, - edit_w, - image, - pixmap); + if( !image ) + image = get_image("resource32"); + + VFrame *frame = image; + int bg_color = canvas->get_bg_color(); + if( color ) { + int alpha = (~color >> 24) & 0xff; + frame = pixmap->change_picon_alpha(image, alpha); + canvas->set_bg_color(color & 0xffffff); + } + canvas->draw_3segmenth(x1, y1, x2 - x1, + edit_x - pixmap_x, edit_w, frame, pixmap); + if( frame != image ) { + delete frame; + canvas->set_bg_color(bg_color); + } }