00001 #include "bcdisplayinfo.h"
00002 #include "blur.h"
00003 #include "blurwindow.h"
00004
00005
00006 #include <libintl.h>
00007 #define _(String) gettext(String)
00008 #define gettext_noop(String) String
00009 #define N_(String) gettext_noop (String)
00010
00011 PLUGIN_THREAD_OBJECT(BlurMain, BlurThread, BlurWindow)
00012
00013
00014
00015
00016
00017 BlurWindow::BlurWindow(BlurMain *client, int x, int y)
00018 : BC_Window(client->gui_string,
00019 x,
00020 y,
00021 150,
00022 270,
00023 150,
00024 270,
00025 0,
00026 1)
00027 {
00028 this->client = client;
00029 }
00030
00031 BlurWindow::~BlurWindow()
00032 {
00033
00034 }
00035
00036 int BlurWindow::create_objects()
00037 {
00038 int x = 10, y = 10;
00039 add_subwindow(new BC_Title(x, y, _("Blur")));
00040 y += 20;
00041 add_subwindow(horizontal = new BlurHorizontal(client, this, x, y));
00042 y += 30;
00043 add_subwindow(vertical = new BlurVertical(client, this, x, y));
00044 y += 35;
00045 add_subwindow(radius = new BlurRadius(client, x, y));
00046 add_subwindow(new BC_Title(x + 50, y, _("Radius")));
00047 y += 50;
00048 add_subwindow(a = new BlurA(client, x, y));
00049 y += 30;
00050 add_subwindow(r = new BlurR(client, x, y));
00051 y += 30;
00052 add_subwindow(g = new BlurG(client, x, y));
00053 y += 30;
00054 add_subwindow(b = new BlurB(client, x, y));
00055
00056 show_window();
00057 flush();
00058 return 0;
00059 }
00060
00061 int BlurWindow::close_event()
00062 {
00063
00064 set_done(1);
00065 return 1;
00066 }
00067
00068 BlurRadius::BlurRadius(BlurMain *client, int x, int y)
00069 : BC_IPot(x,
00070 y,
00071 client->config.radius,
00072 0,
00073 MAXRADIUS)
00074 {
00075 this->client = client;
00076 }
00077 BlurRadius::~BlurRadius()
00078 {
00079 }
00080 int BlurRadius::handle_event()
00081 {
00082 client->config.radius = get_value();
00083 client->send_configure_change();
00084 return 1;
00085 }
00086
00087 BlurVertical::BlurVertical(BlurMain *client, BlurWindow *window, int x, int y)
00088 : BC_CheckBox(x,
00089 y,
00090 client->config.vertical,
00091 _("Vertical"))
00092 {
00093 this->client = client;
00094 this->window = window;
00095 }
00096 BlurVertical::~BlurVertical()
00097 {
00098 }
00099 int BlurVertical::handle_event()
00100 {
00101 client->config.vertical = get_value();
00102 client->send_configure_change();
00103 }
00104
00105 BlurHorizontal::BlurHorizontal(BlurMain *client, BlurWindow *window, int x, int y)
00106 : BC_CheckBox(x,
00107 y,
00108 client->config.horizontal,
00109 _("Horizontal"))
00110 {
00111 this->client = client;
00112 this->window = window;
00113 }
00114 BlurHorizontal::~BlurHorizontal()
00115 {
00116 }
00117 int BlurHorizontal::handle_event()
00118 {
00119 client->config.horizontal = get_value();
00120 client->send_configure_change();
00121 }
00122
00123
00124
00125
00126 BlurA::BlurA(BlurMain *client, int x, int y)
00127 : BC_CheckBox(x, y, client->config.a, _("Blur alpha"))
00128 {
00129 this->client = client;
00130 }
00131 int BlurA::handle_event()
00132 {
00133 client->config.a = get_value();
00134 client->send_configure_change();
00135 return 1;
00136 }
00137
00138 BlurR::BlurR(BlurMain *client, int x, int y)
00139 : BC_CheckBox(x, y, client->config.r, _("Blur red"))
00140 {
00141 this->client = client;
00142 }
00143 int BlurR::handle_event()
00144 {
00145 client->config.r = get_value();
00146 client->send_configure_change();
00147 return 1;
00148 }
00149
00150 BlurG::BlurG(BlurMain *client, int x, int y)
00151 : BC_CheckBox(x, y, client->config.g, _("Blur green"))
00152 {
00153 this->client = client;
00154 }
00155 int BlurG::handle_event()
00156 {
00157 client->config.g = get_value();
00158 client->send_configure_change();
00159 return 1;
00160 }
00161
00162 BlurB::BlurB(BlurMain *client, int x, int y)
00163 : BC_CheckBox(x, y, client->config.b, _("Blur blue"))
00164 {
00165 this->client = client;
00166 }
00167 int BlurB::handle_event()
00168 {
00169 client->config.b = get_value();
00170 client->send_configure_change();
00171 return 1;
00172 }
00173
00174