mask xy scale, mask boundary only overlay, fix 8 char mask nm bug, rework maskgui...
[goodguy/cinelerra.git] / cinelerra-5.1 / plugins / theme_blond_cv / blondcvtheme.C
index a7bc2bab905f5664662e4effac5628f2eace831a..5476cf6a0a6665514619371458c5dedd3d67f739 100644 (file)
@@ -97,6 +97,7 @@ BlondCVTheme::~BlondCVTheme()
        delete keyframe_data;
        delete maskkeyframe_data;
        delete modekeyframe_data;
+       delete hardedge_data;
        delete pankeyframe_data;
        delete projectorkeyframe_data;
 }
@@ -328,6 +329,12 @@ void BlondCVTheme::initialize()
                "generic_dn.png",
                "new_ok_images");
 
+       new_button("reset.png",
+               "reset_up.png",
+               "reset_hi.png",
+               "reset_dn.png",
+               "reset_button");
+
        resources->cancel_images = new_button("cancel.png",
                "generic_up.png",
                "generic_hi.png",
@@ -340,6 +347,38 @@ void BlondCVTheme::initialize()
                "generic_dn.png",
                "new_cancel_images");
 
+       new_button("mask_pnt_linear.png",
+               "mask_button_up.png",
+               "mask_button_hi.png",
+               "mask_button_dn.png",
+               "mask_pnt_linear_images");
+       new_button("mask_crv_linear.png",
+               "mask_button_up.png",
+               "mask_button_hi.png",
+               "mask_button_dn.png",
+               "mask_crv_linear_images");
+       new_button("mask_all_linear.png",
+               "mask_button_up.png",
+               "mask_button_hi.png",
+               "mask_button_dn.png",
+               "mask_all_linear_images");
+
+       new_button("mask_pnt_smooth.png",
+               "mask_button_up.png",
+               "mask_button_hi.png",
+               "mask_button_dn.png",
+               "mask_pnt_smooth_images");
+       new_button("mask_crv_smooth.png",
+               "mask_button_up.png",
+               "mask_button_hi.png",
+               "mask_button_dn.png",
+               "mask_crv_smooth_images");
+       new_button("mask_all_smooth.png",
+               "mask_button_up.png",
+               "mask_button_hi.png",
+               "mask_button_dn.png",
+               "mask_all_smooth_images");
+
        new_toggle("loadmode_new.png",
                "loadmode_up.png",
                "loadmode_hi.png",
@@ -464,6 +503,7 @@ void BlondCVTheme::initialize()
        cbuttons_left = new_image("cbuttons_left.png");
        cbuttons_right = new_image("cbuttons_right.png");
        cmeter_bg = new_image("cmeter_bg.png");
+       new_image("cwindow_focus", "cwindow_focus.png");
 
        ctimebar_x = ccanvas_x;
        ctimebar_y = ccanvas_y + ccanvas_h;
@@ -656,6 +696,13 @@ void BlondCVTheme::initialize()
                "proxy_s_down.png",
                "proxy_s_chkdhi.png");
 
+       mask_mode_toggle = new_image_set(5,
+               "mask_mode_up.png",
+               "mask_mode_hi.png",
+               "mask_mode_chkd.png",
+               "mask_mode_down.png",
+               "mask_mode_chkdhi.png");
+
        shbtn_data = new_image_set(3,
                "shbtn_up.png",
                "shbtn_hi.png",
@@ -867,6 +914,16 @@ void BlondCVTheme::initialize()
        new_toggle("tan_smooth.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "tan_smooth");
        new_toggle("tan_linear.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "tan_linear");
 
+       new_toggle("mask_scale_x.png",   "mask_scale_xup.png",    "mask_scale_xuphi.png",
+               "mask_scale_xchkd.png",  "mask_scale_xdown.png",  "mask_scale_xchkdhi.png",
+               "mask_scale_x");
+       new_toggle("mask_scale_y.png",   "mask_scale_yup.png",    "mask_scale_yuphi.png",
+               "mask_scale_ychkd.png",  "mask_scale_ydown.png",  "mask_scale_ychkdhi.png",
+               "mask_scale_y");
+       new_toggle("mask_scale_xy.png",  "mask_scale_xyup.png",   "mask_scale_xyuphi.png",
+               "mask_scale_xychkd.png", "mask_scale_xydown.png", "mask_scale_xychkdhi.png",
+               "mask_scale_xy");
+
        flush_images();
 
        new_toggle("blank30x30.png",
@@ -952,6 +1009,10 @@ void BlondCVTheme::get_mwindow_sizes(MWindowGUI *gui, int w, int h)
        mcanvas_y = mtimebar_y + mtimebar_h;
        mcanvas_w = w;
        mcanvas_h = patchbay_h;
+        pane_w = get_image_set("xpane")[0]->get_w();
+        pane_h = get_image_set("ypane")[0]->get_h();
+        pane_x = mcanvas_x + mcanvas_w;
+        pane_y = mcanvas_y + mcanvas_h;
        mhscroll_x = 0;
        mhscroll_y = mcanvas_y + mcanvas_h;
        mhscroll_w = w - BC_ScrollBar::get_span(SCROLL_VERT) - patchbay_w;
@@ -1172,6 +1233,7 @@ void BlondCVTheme::build_overlays()
        camerakeyframe_data = new VFramePng(get_image_data("camerakeyframe.png"));
        maskkeyframe_data = new VFramePng(get_image_data("maskkeyframe.png"));
        modekeyframe_data = new VFramePng(get_image_data("modekeyframe.png"));
+       hardedge_data = new VFramePng(get_image_data("hardedge.png"));
        pankeyframe_data = new VFramePng(get_image_data("pankeyframe.png"));
        projectorkeyframe_data = new VFramePng(get_image_data("projectorkeyframe.png"));
 }