fix outer color setup for yuv in gradient, fix last_xy update in sketcher grab_event
[goodguy/cinelerra.git] / cinelerra-5.1 / plugins / gradient / gradient.C
index 8e3ac91ee3b2726013272bb3bdc1e0e940471b68..6ceb8b1bfc81dab51b85b66d79807f14a5b1638c 100644 (file)
@@ -386,16 +386,10 @@ GradientInColorButton::GradientInColorButton(GradientMain *plugin, GradientWindo
 {
        this->plugin = plugin;
        this->gui = gui;
-       for( int i=0; i<3; ++i ) {
-               vframes[i] = new VFrame(COLOR_W, COLOR_H, BC_RGB888);
-               vframes[i]->clear_frame();
-       }
 }
 
 GradientInColorButton::~GradientInColorButton()
 {
-       for( int i=0; i<3; ++i )
-               delete vframes[i];
 }
 
 void GradientInColorButton::handle_done_event(int result)
@@ -424,22 +418,16 @@ GradientOutColorButton::GradientOutColorButton(GradientMain *plugin, GradientWin
 {
        this->plugin = plugin;
        this->gui = gui;
-       for( int i=0; i<3; ++i ) {
-               vframes[i] = new VFrame(COLOR_W, COLOR_H, BC_RGB888);
-               vframes[i]->clear_frame();
-       }
 }
 
 GradientOutColorButton::~GradientOutColorButton()
 {
-       for( int i=0; i<3; ++i )
-               delete vframes[i];
 }
 
 void GradientOutColorButton::handle_done_event(int result)
 {
        if( result ) {
-               gui->lock_window("GradientInColorButton::handle_done_event");
+               gui->lock_window("GradientOutColorButton::handle_done_event");
                update_gui(orig_color, orig_alpha);
                gui->unlock_window();
                handle_new_color(orig_color, orig_alpha);
@@ -1057,9 +1045,9 @@ void GradientUnit::process_package(LoadPackage *package)
                int out1, out2, out3, out4;
                YUV::yuv.rgb_to_yuv_8(in_r,in_g,in_b, in1,in2,in3);
                in4 = plugin->config.in_a;
-               int out_r = plugin->config.in_r;
-               int out_g = plugin->config.in_g;
-               int out_b = plugin->config.in_b;
+               int out_r = plugin->config.out_r;
+               int out_g = plugin->config.out_g;
+               int out_b = plugin->config.out_b;
                YUV::yuv.rgb_to_yuv_8(out_r,out_g,out_b, out1,out2,out3);
                out4 = plugin->config.out_a;
                CREATE_GRADIENT(unsigned char, int, 3, 0xff)
@@ -1073,9 +1061,9 @@ void GradientUnit::process_package(LoadPackage *package)
                int out1, out2, out3, out4;
                YUV::yuv.rgb_to_yuv_8(in_r,in_g,in_b, in1,in2,in3);
                in4 = plugin->config.in_a;
-               int out_r = plugin->config.in_r;
-               int out_g = plugin->config.in_g;
-               int out_b = plugin->config.in_b;
+               int out_r = plugin->config.out_r;
+               int out_g = plugin->config.out_g;
+               int out_b = plugin->config.out_b;
                YUV::yuv.rgb_to_yuv_8(out_r,out_g,out_b, out1,out2,out3);
                out4 = plugin->config.out_a;
                CREATE_GRADIENT(unsigned char, int, 4, 0xff)