00001 #ifndef BLURWINDOW_H
00002 #define BLURWINDOW_H
00003
00004
00005 class BlurThread;
00006 class BlurWindow;
00007
00008 #include "blur.inc"
00009 #include "filexml.inc"
00010 #include "guicast.h"
00011 #include "mutex.h"
00012 #include "thread.h"
00013
00014 PLUGIN_THREAD_HEADER(BlurMain, BlurThread, BlurWindow)
00015
00016 class BlurVertical;
00017 class BlurHorizontal;
00018 class BlurRadius;
00019 class BlurA;
00020 class BlurR;
00021 class BlurG;
00022 class BlurB;
00023
00024 class BlurWindow : public BC_Window
00025 {
00026 public:
00027 BlurWindow(BlurMain *client, int x, int y);
00028 ~BlurWindow();
00029
00030 int create_objects();
00031 int close_event();
00032
00033 BlurMain *client;
00034 BlurVertical *vertical;
00035 BlurHorizontal *horizontal;
00036 BlurRadius *radius;
00037 BlurA *a;
00038 BlurR *r;
00039 BlurG *g;
00040 BlurB *b;
00041 };
00042
00043 class BlurA : public BC_CheckBox
00044 {
00045 public:
00046 BlurA(BlurMain *client, int x, int y);
00047 int handle_event();
00048 BlurMain *client;
00049 };
00050 class BlurR : public BC_CheckBox
00051 {
00052 public:
00053 BlurR(BlurMain *client, int x, int y);
00054 int handle_event();
00055 BlurMain *client;
00056 };
00057 class BlurG : public BC_CheckBox
00058 {
00059 public:
00060 BlurG(BlurMain *client, int x, int y);
00061 int handle_event();
00062 BlurMain *client;
00063 };
00064 class BlurB : public BC_CheckBox
00065 {
00066 public:
00067 BlurB(BlurMain *client, int x, int y);
00068 int handle_event();
00069 BlurMain *client;
00070 };
00071
00072
00073 class BlurRadius : public BC_IPot
00074 {
00075 public:
00076 BlurRadius(BlurMain *client, int x, int y);
00077 ~BlurRadius();
00078 int handle_event();
00079
00080 BlurMain *client;
00081 };
00082
00083 class BlurVertical : public BC_CheckBox
00084 {
00085 public:
00086 BlurVertical(BlurMain *client, BlurWindow *window, int x, int y);
00087 ~BlurVertical();
00088 int handle_event();
00089
00090 BlurMain *client;
00091 BlurWindow *window;
00092 };
00093
00094 class BlurHorizontal : public BC_CheckBox
00095 {
00096 public:
00097 BlurHorizontal(BlurMain *client, BlurWindow *window, int x, int y);
00098 ~BlurHorizontal();
00099 int handle_event();
00100
00101 BlurMain *client;
00102 BlurWindow *window;
00103 };
00104
00105
00106 #endif