X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Ftheme.C;h=f9e32f4999018a3588d442a758e9fa0c603dbc68;hp=6562a56c5be01016c1634d0dcc1a910620822c87;hb=7fa4ccc2c91d37f20f3618261e4cbaa9d5d3c740;hpb=5249bc8407920effc00e13940d3d4ccea0dd5d9f diff --git a/cinelerra-5.1/cinelerra/theme.C b/cinelerra-5.1/cinelerra/theme.C index 6562a56c..f9e32f49 100644 --- a/cinelerra-5.1/cinelerra/theme.C +++ b/cinelerra-5.1/cinelerra/theme.C @@ -22,7 +22,7 @@ #include "awindowgui.h" #include "bcsignals.h" #include "clip.h" -#include "colors.h" +#include "bccolors.h" #include "cwindowgui.h" #include "edl.h" #include "edlsession.h" @@ -57,7 +57,7 @@ #include #define NEW_VFRAME \ -new VFrame(0, -1, default_data.get_w(), default_data.get_h(), BC_RGBA8888, -1) +new VFrame(default_data.get_w(), default_data.get_h(), BC_RGBA8888) Theme::Theme() : BC_Theme() @@ -65,9 +65,7 @@ Theme::Theme() window_border = 10; widget_border = 5; this->mwindow = 0; - theme_title = DEFAULT_THEME; - data_buffer = 0; - contents_buffer = 0; + theme_title = _(DEFAULT_THEME); last_image = 0; mtransport_margin = 0; toggle_margin = 0; @@ -80,6 +78,7 @@ Theme::Theme() BC_WindowBase::get_resources()->recursive_resizing = 0; audio_color = BLACK; fade_h = 22; + inout_highlight_color = GREEN; meter_h = 17; mode_h = 30; pan_h = 32; @@ -87,6 +86,7 @@ Theme::Theme() play_h = 22; title_h = 23; clock_bg_color = BLACK; + clock_fg_color = GREEN; assetedit_color = YELLOW; const char *cp = getenv("BC_USE_COMMERCIALS"); use_commercials = !cp ? 0 : atoi(cp); @@ -129,6 +129,8 @@ Theme::Theme() edithandleout_data = 0; extract_data = 0; ffmpeg_toggle = 0; + proxy_s_toggle = 0; + proxy_p_toggle = 0; infoasset_data = 0; in_point = 0; insert_data = 0; @@ -187,11 +189,6 @@ Theme::~Theme() void Theme::flush_images() { - if(data_buffer) delete [] data_buffer; - if(contents_buffer) delete [] contents_buffer; - data_buffer = 0; - contents_buffer = 0; - contents.remove_all(); } void Theme::initialize() @@ -212,7 +209,6 @@ void Theme::initialize() new_image("mode_replace", "mode_replace.png"); new_image("mode_max", "mode_max.png"); new_image("mode_min", "mode_min.png"); - new_image("mode_average", "mode_average.png"); new_image("mode_darken", "mode_darken.png"); new_image("mode_lighten", "mode_lighten.png"); new_image("mode_dst", "mode_dst.png"); @@ -225,8 +221,16 @@ void Theme::initialize() new_image("mode_srcin", "mode_srcin.png"); new_image("mode_srcout", "mode_srcout.png"); new_image("mode_srcover", "mode_srcover.png"); + new_image("mode_and", "mode_and.png"); new_image("mode_or", "mode_or.png"); new_image("mode_xor", "mode_xor.png"); + new_image("mode_overlay", "mode_overlay.png"); + new_image("mode_screen", "mode_screen.png"); + new_image("mode_burn", "mode_burn.png"); + new_image("mode_dodge", "mode_dodge.png"); + new_image("mode_hardlight", "mode_hardlight.png"); + new_image("mode_softlight", "mode_softlight.png"); + new_image("mode_difference", "mode_difference.png"); new_image_set("mode_popup", 3, "mode_up.png", "mode_hi.png", "mode_dn.png"); @@ -237,6 +241,8 @@ void Theme::initialize() new_image("awindow_icon", "heroine_icon.png"); new_image("record_icon", "heroine_icon.png"); new_image("clip_icon", "clip_icon.png"); + new_image_set("mixpatch_data", 5, "mixpatch_up.png", "mixpatch_hi.png", + "mixpatch_checked.png", "mixpatch_dn.png", "mixpatch_checkedhi.png"); new_image("aeffect_icon", "aeffect_icon.png"); @@ -262,45 +268,44 @@ void Theme::build_menus() aspect_ratios.append(new BC_ListBoxItem("2.35:1")); aspect_ratios.append(new BC_ListBoxItem("2.66:1")); - frame_sizes.append(new BC_ListBoxItem("128x96")); - frame_sizes.append(new BC_ListBoxItem("160x120")); - frame_sizes.append(new BC_ListBoxItem("176x144")); - frame_sizes.append(new BC_ListBoxItem("240x180")); - frame_sizes.append(new BC_ListBoxItem("320x200")); - frame_sizes.append(new BC_ListBoxItem("320x240")); - frame_sizes.append(new BC_ListBoxItem("352x288")); - frame_sizes.append(new BC_ListBoxItem("360x240")); - frame_sizes.append(new BC_ListBoxItem("400x300")); - frame_sizes.append(new BC_ListBoxItem("424x318")); - frame_sizes.append(new BC_ListBoxItem("512x384")); - frame_sizes.append(new BC_ListBoxItem("640x350")); - frame_sizes.append(new BC_ListBoxItem("640x480")); - frame_sizes.append(new BC_ListBoxItem("704x576")); - frame_sizes.append(new BC_ListBoxItem("720x480")); - frame_sizes.append(new BC_ListBoxItem("720x576")); - frame_sizes.append(new BC_ListBoxItem("800x600")); - frame_sizes.append(new BC_ListBoxItem("852x480")); - frame_sizes.append(new BC_ListBoxItem("852x480")); - frame_sizes.append(new BC_ListBoxItem("960x540")); - frame_sizes.append(new BC_ListBoxItem("960x1080")); - frame_sizes.append(new BC_ListBoxItem("1024x768")); - frame_sizes.append(new BC_ListBoxItem("1280x720")); - frame_sizes.append(new BC_ListBoxItem("1280x1024")); - frame_sizes.append(new BC_ListBoxItem("1368x768")); - frame_sizes.append(new BC_ListBoxItem("1408x1152")); - frame_sizes.append(new BC_ListBoxItem("1600x1024")); - frame_sizes.append(new BC_ListBoxItem("1600x1200")); - frame_sizes.append(new BC_ListBoxItem("1920x1080")); - frame_sizes.append(new BC_ListBoxItem("1920x1088")); - frame_sizes.append(new BC_ListBoxItem("1920x1200")); - frame_sizes.append(new BC_ListBoxItem("2048x1536")); - frame_sizes.append(new BC_ListBoxItem("2560x1600")); - frame_sizes.append(new BC_ListBoxItem("2560x2048")); - frame_sizes.append(new BC_ListBoxItem("3200x2048")); - frame_sizes.append(new BC_ListBoxItem("3840x2400")); - frame_sizes.append(new BC_ListBoxItem("5120x4096")); - frame_sizes.append(new BC_ListBoxItem("6400x4096")); - frame_sizes.append(new BC_ListBoxItem("7680x4800")); + frame_sizes.append(new BC_ListBoxItem("128x96 ")); + frame_sizes.append(new BC_ListBoxItem("160x120 ")); + frame_sizes.append(new BC_ListBoxItem("320x240 ")); + frame_sizes.append(new BC_ListBoxItem("360x240 ")); + frame_sizes.append(new BC_ListBoxItem("400x300 ")); + frame_sizes.append(new BC_ListBoxItem("640x360 nHD")); + frame_sizes.append(new BC_ListBoxItem("640x400 ")); + frame_sizes.append(new BC_ListBoxItem("640x480 VGA")); + frame_sizes.append(new BC_ListBoxItem("720x480 NTSC")); + frame_sizes.append(new BC_ListBoxItem("720x576 PAL")); + frame_sizes.append(new BC_ListBoxItem("768x432 ")); + frame_sizes.append(new BC_ListBoxItem("800x450 ")); + frame_sizes.append(new BC_ListBoxItem("800x600 SVGA")); + frame_sizes.append(new BC_ListBoxItem("896x504 ")); + frame_sizes.append(new BC_ListBoxItem("960x540 qHD")); + frame_sizes.append(new BC_ListBoxItem("1024x576 ")); + frame_sizes.append(new BC_ListBoxItem("1024x768 XGA")); + frame_sizes.append(new BC_ListBoxItem("1152x648 ")); + frame_sizes.append(new BC_ListBoxItem("1280x720 HD")); + frame_sizes.append(new BC_ListBoxItem("1280x1024 SXGA")); + frame_sizes.append(new BC_ListBoxItem("1366x768 WXGA")); + frame_sizes.append(new BC_ListBoxItem("1600x900 HD+")); + frame_sizes.append(new BC_ListBoxItem("1600x1200 UXGA")); + frame_sizes.append(new BC_ListBoxItem("1920x1080 Full HD")); + frame_sizes.append(new BC_ListBoxItem("2048x1152 ")); + frame_sizes.append(new BC_ListBoxItem("2304x1296 ")); + frame_sizes.append(new BC_ListBoxItem("2560x1440 QHD")); + frame_sizes.append(new BC_ListBoxItem("2880x1620 ")); + frame_sizes.append(new BC_ListBoxItem("3200x1800 QHD+")); + frame_sizes.append(new BC_ListBoxItem("3520x1980 ")); + frame_sizes.append(new BC_ListBoxItem("3840x2160 4K UHD")); + frame_sizes.append(new BC_ListBoxItem("4096x2304 Full 4K UHD")); + frame_sizes.append(new BC_ListBoxItem("4480x2520 ")); + frame_sizes.append(new BC_ListBoxItem("5120x2880 5K UHD")); + frame_sizes.append(new BC_ListBoxItem("5760x3240 ")); + frame_sizes.append(new BC_ListBoxItem("6400x3600 ")); + frame_sizes.append(new BC_ListBoxItem("7040x3960 ")); + frame_sizes.append(new BC_ListBoxItem("7680x4320 8K UHD")); sample_rates.append(new BC_ListBoxItem("8000")); sample_rates.append(new BC_ListBoxItem("16000")); @@ -311,6 +316,7 @@ void Theme::build_menus() sample_rates.append(new BC_ListBoxItem("96000")); sample_rates.append(new BC_ListBoxItem("192000")); + frame_rates.append(new BC_ListBoxItem("0.25")); frame_rates.append(new BC_ListBoxItem("1")); frame_rates.append(new BC_ListBoxItem("5")); frame_rates.append(new BC_ListBoxItem("10")); @@ -324,6 +330,9 @@ void Theme::build_menus() frame_rates.append(new BC_ListBoxItem("50")); frame_rates.append(new BC_ListBoxItem("59.94")); frame_rates.append(new BC_ListBoxItem("60")); + frame_rates.append(new BC_ListBoxItem("100")); + frame_rates.append(new BC_ListBoxItem("120")); + frame_rates.append(new BC_ListBoxItem("1000")); char string[BCTEXTLEN]; for(int i = 1; i < 17; i++) @@ -590,11 +599,11 @@ void Theme::get_mwindow_sizes(MWindowGUI *gui, int w, int h) { mbuttons_x = 0; mbuttons_y = gui->menu_h() + 1; - mbuttons_w = gui->menu_w(); + mbuttons_w = w - (ffmpeg_toggle[0]->get_w()+2 + proxy_p_toggle[0]->get_w()+2); mbuttons_h = get_image("mbutton_bg")->get_h(); - mclock_x = 10; - mclock_y = mbuttons_y - 1 + mbuttons_h + widget_border; - mclock_w = get_image("clock_bg")->get_w() - 40; + mclock_x = window_border - 5; + mclock_y = mbuttons_y - 1 + mbuttons_h; + mclock_w = get_image("clock_bg")->get_w() - 20; mclock_h = get_image("clock_bg")->get_h(); mtimebar_x = get_image("patchbay_bg")->get_w(); mtimebar_y = mbuttons_y - 1 + mbuttons_h; @@ -969,8 +978,8 @@ void Theme::get_vwindow_sizes(VWindowGUI *gui) widget_border; vdivision_x = 280; - vtime_x = vdivision_x; - vtime_y = vedit_y + 20; + vtime_x = vedit_x + 20; //vdivision_x; + vtime_y = vedit_y + 30; //+ 20; } else { @@ -1175,40 +1184,106 @@ void Theme::get_plugindialog_sizes() void Theme::get_keyframedialog_sizes(KeyFrameWindow *gui) { - int x = widget_border; - int y = window_border + - BC_Title::calculate_h(gui, "P", LARGEFONT) + + int x = window_border; + int y = window_border + + BC_Title::calculate_h(gui, "P", LARGEFONT) + + widget_border; + + presets_list_x = x; + presets_list_y = y; +#ifdef EDIT_KEYFRAME + presets_list_w = mwindow->session->keyframedialog_w / 2 - + widget_border - + window_border; +#else + presets_list_w = mwindow->session->keyframedialog_w - + presets_list_x - + window_border; +#endif + presets_list_h = mwindow->session->keyframedialog_h - + BC_OKButton::calculate_h() - + presets_list_y - + widget_border - + widget_border - + BC_Title::calculate_h(gui, "P") - + widget_border - + BC_TextBox::calculate_h(gui, + MEDIUMFONT, + 1, + 1) - + widget_border - + (BC_GenericButton::calculate_h() + widget_border) * 3 - + window_border; + y += presets_list_h + widget_border + widget_border + BC_Title::calculate_h(gui, "P"); + presets_text_x = x; + presets_text_y = y; + presets_text_w = presets_list_w; + y += BC_TextBox::calculate_h(gui, + MEDIUMFONT, + 1, + 1) + widget_border; + + presets_delete_x = presets_text_x; + presets_delete_y = y; + y += BC_GenericButton::calculate_h() + widget_border; + + presets_save_x = presets_text_x; + presets_save_y = y; + y += BC_GenericButton::calculate_h() + widget_border; + + presets_apply_x = presets_text_x; + presets_apply_y = y; + y += BC_GenericButton::calculate_h(); + +#ifdef EDIT_KEYFRAME + x = mwindow->session->keyframedialog_w / 2 + widget_border; + y = window_border + + BC_Title::calculate_h(gui, "P", LARGEFONT) + widget_border; keyframe_list_x = x; keyframe_list_y = y; - keyframe_list_w = mwindow->session->keyframedialog_w - widget_border * 2; - keyframe_list_h = mwindow->session->keyframedialog_h - widget_border - - widget_border - keyframe_list_y - BC_Title::calculate_h(gui, "P") - - widget_border - BC_TextBox::calculate_h(gui, MEDIUMFONT, 1, 1) - - widget_border - BC_Title::calculate_h(gui, "P") - - widget_border - BC_OKButton::calculate_h() - + keyframe_list_w = mwindow->session->keyframedialog_w / 2 - + widget_border - + window_border; + keyframe_list_h = mwindow->session->keyframedialog_h - + keyframe_list_y - + widget_border - + widget_border - + BC_Title::calculate_h(gui, "P") - + widget_border - + BC_TextBox::calculate_h(gui, + MEDIUMFONT, + 1, + 1) - + widget_border - + BC_Title::calculate_h(gui, "P") - + widget_border - + BC_OKButton::calculate_h() - window_border; // keyframe_text_x = keyframe_list_x + keyframe_list_w + widget_border; // keyframe_text_y = y; // keyframe_text_w = mwindow->session->keyframedialog_w - keyframe_text_x - window_border; -// y += BC_TextBox::calculate_h(gui, -// MEDIUMFONT, -// 1, +// y += BC_TextBox::calculate_h(gui, +// MEDIUMFONT, +// 1, // 1) + widget_border; -// +// y += keyframe_list_h + BC_Title::calculate_h(gui, "P") + widget_border + widget_border; keyframe_value_x = keyframe_list_x; keyframe_value_y = y; keyframe_value_w = keyframe_list_w; - y += BC_TextBox::calculate_h(gui, - MEDIUMFONT, - 1, + y += BC_TextBox::calculate_h(gui, + MEDIUMFONT, + 1, 1) + widget_border; keyframe_all_x = keyframe_value_x; keyframe_all_y = y; + +#endif + }