1 #include "bcdisplayinfo.h"
2 #include "brightnesswindow.h"
6 PLUGIN_THREAD_OBJECT(BrightnessMain, BrightnessThread, BrightnessWindow)
12 BrightnessWindow::BrightnessWindow(BrightnessMain *client, int x, int y)
13 : BC_Window(client->gui_string, x,
22 this->client = client;
25 BrightnessWindow::~BrightnessWindow()
29 int BrightnessWindow::create_objects()
32 add_tool(new BC_Title(x, y, _("Brightness/Contrast")));
34 add_tool(new BC_Title(x, y,_("Brightness:")));
35 add_tool(brightness = new BrightnessSlider(client,
36 &(client->config.brightness),
41 add_tool(new BC_Title(x, y, _("Contrast:")));
42 add_tool(contrast = new BrightnessSlider(client,
43 &(client->config.contrast),
48 add_tool(luma = new BrightnessLuma(client,
56 int BrightnessWindow::close_event()
58 // Set result to 1 to indicate a client side close
63 BrightnessSlider::BrightnessSlider(BrightnessMain *client,
77 this->client = client;
78 this->output = output;
79 this->is_brightness = is_brightness;
81 BrightnessSlider::~BrightnessSlider()
84 int BrightnessSlider::handle_event()
86 *output = get_value();
87 client->send_configure_change();
91 char* BrightnessSlider::get_caption()
96 fraction = *output / 100;
100 fraction = (*output < 0) ?
101 (*output + 100) / 100 :
104 sprintf(string, "%0.4f", fraction);
109 BrightnessLuma::BrightnessLuma(BrightnessMain *client,
115 _("Boost luminance only"))
117 this->client = client;
119 BrightnessLuma::~BrightnessLuma()
122 int BrightnessLuma::handle_event()
124 client->config.luma = get_value();
125 client->send_configure_change();