+// ---------------------------------- alpha slider ---------------------------------
+class BluebananaAAReadout : public BB_Tumble {
+ public:
+ BluebananaAAReadout(BluebananaMain *plugin, BluebananaWindow *gui, int w)
+ : BB_Tumble(plugin,gui,0.,0,100., 0,1,w){}
+ int value_event();
+};
+
+class BluebananaAASlider : public BluebananaSliderSingle {
+public:
+ BluebananaAASlider(BluebananaMain *plugin, BluebananaWindow *gui,
+ int x, int y, int w, int h)
+ : BluebananaSliderSingle(plugin,gui,x,y,w,h,0,100) {}
+ virtual int handle_event() {
+ plugin->config.Aadj_val = val;
+ return 1;
+ }
+ void reset(){
+ plugin->config.Aadj_val=100;
+ update();
+ }
+ void update(){
+ val = plugin->config.Aadj_val;
+ if( BC_CModels::has_alpha(plugin->colormodel) ) {
+ if( is_hidden() ) show_window();
+ }else{
+ if( !is_hidden() ) hide_window();
+ }
+ if( is_hidden() ) return;
+ highlight = plugin->config.active && plugin->config.Aadj_active;
+ gui->Aadj_readout->update(plugin->config.Aadj_val);
+ gui->slider_labels[11]->set_color(highlight && plugin->config.Aadj_val != 100 ?
+ get_resources()->default_text_color : dimtextcolor);
+ gui->enter_config_change();
+ gui->commit_config_change();
+ }
+ void trough_color(float hdel, float vdel, float &r, float &g, float &b, float &a){
+ r=g=b=.8;
+ a=1-cos(hdel*M_PI*.5);
+ }
+};
+
+int BluebananaAAReadout::value_event(){
+ float val = get_value();
+ plugin->config.Aadj_val = val;
+ gui->Aadj_slider->update();
+ return 1;
+}
+