r956: README.BUILD - add more library recommendations
[cinelerra_cv/ct.git] / cinelerra / plugintoggles.C
blob181b272d3d321e5a72a10d026b650a21edcf060f
1 #include "mwindow.h"
2 #include "plugin.h"
3 #include "plugintoggles.h"
4 #include "theme.h"
8 PluginOn::PluginOn(MWindow *mwindow, int x, int y, Plugin *plugin)
9  : BC_Toggle(x, 
10                 y, 
11                 mwindow->theme->get_image_set("plugin_on"),
12                 plugin->on)
14         this->mwindow = mwindow;
15         this->plugin = plugin;
16         in_use = 1;
19 int PluginOn::calculate_w(MWindow *mwindow)
21         return mwindow->theme->get_image_set("plugin_on")[0]->get_w();
24 void PluginOn::update(int x, int y, Plugin *plugin)
26         BC_Toggle::set_value(plugin->on, 0);
27         reposition_window(x, y);
28         this->plugin = plugin;
29         in_use = 1;
32 int PluginOn::handle_event()
34         plugin->on = get_value();
35         unlock_window();
36         mwindow->restart_brender();
37         mwindow->sync_parameters(CHANGE_EDL);
38         lock_window("PluginOn::handle_event");
39         return 1;
45 PluginShow::PluginShow(MWindow *mwindow, int x, int y, Plugin *plugin)
46  : BC_Toggle(x, 
47                 y, 
48                 mwindow->theme->get_image_set("plugin_show"),
49                 plugin->show)
51         this->mwindow = mwindow;
52         this->plugin = plugin;
53         in_use = 1;
56 int PluginShow::calculate_w(MWindow *mwindow)
58         return mwindow->theme->get_image_set("plugin_show")[0]->get_w();
61 void PluginShow::update(int x, int y, Plugin *plugin)
63         BC_Toggle::set_value(plugin->show, 0);
64         reposition_window(x, y);
65         this->plugin = plugin;
66         in_use = 1;
69 int PluginShow::handle_event()
71         unlock_window();
72         if(get_value()) 
73                 mwindow->show_plugin(plugin);
74         else
75                 mwindow->hide_plugin(plugin, 1);
76         lock_window("PluginShow::handle_event");
77         return 1;