00001 #ifndef YUVWINDOW_H
00002 #define YUVWINDOW_H
00003
00004 #include "bcbase.h"
00005
00006 class YUVThread;
00007 class YUVWindow;
00008
00009 #include "filexml.h"
00010 #include "mutex.h"
00011 #include "yuv.h"
00012
00013 class YUVThread : public Thread
00014 {
00015 public:
00016 YUVThread(YUVMain *client);
00017 ~YUVThread();
00018
00019 void run();
00020
00021 Mutex gui_started;
00022 YUVMain *client;
00023 YUVWindow *window;
00024 };
00025
00026 class YSlider;
00027 class USlider;
00028 class VSlider;
00029 class AutomatedFn;
00030
00031 class YUVWindow : public BC_Window
00032 {
00033 public:
00034 YUVWindow(YUVMain *client);
00035 ~YUVWindow();
00036
00037 int create_objects();
00038 int close_event();
00039
00040 YUVMain *client;
00041 YSlider *y_slider;
00042 USlider *u_slider;
00043 VSlider *v_slider;
00044 AutomatedFn *automation[3];
00045 };
00046
00047 class YSlider : public BC_ISlider
00048 {
00049 public:
00050 YSlider(YUVMain *client, int x, int y);
00051 ~YSlider();
00052 int handle_event();
00053
00054 YUVMain *client;
00055 };
00056
00057 class USlider : public BC_ISlider
00058 {
00059 public:
00060 USlider(YUVMain *client, int x, int y);
00061 ~USlider();
00062 int handle_event();
00063
00064 YUVMain *client;
00065 };
00066
00067 class VSlider : public BC_ISlider
00068 {
00069 public:
00070 VSlider(YUVMain *client, int x, int y);
00071 ~VSlider();
00072 int handle_event();
00073
00074 YUVMain *client;
00075 };
00076
00077 class AutomatedFn : public BC_CheckBox
00078 {
00079 public:
00080 AutomatedFn(YUVMain *client, YUVWindow *window, int x, int y, int number);
00081 ~AutomatedFn();
00082 int handle_event();
00083
00084 YUVMain *client;
00085 YUVWindow *window;
00086 int number;
00087 };
00088
00089
00090 #endif