+ toggleinfo *info;
+ GWindowColorButton *color_button;
+};
+
+class GWindowColorButton : public BC_Button
+{
+public:
+ GWindowColorButton(GWindowToggle *auto_toggle, int x, int y, int w);
+ ~GWindowColorButton();
+
+ void set_color(int color);
+ void update_gui(int color);
+ int handle_event();
+
+ int color;
+ VFrame *vframes[3];
+ GWindowToggle *auto_toggle;
+};
+
+class GWindowColorThread : public ColorPicker
+{
+public:
+ GWindowColorThread(GWindowColorButton *color_button);
+ ~GWindowColorThread();
+ void start(int color);
+ int handle_new_color(int color, int alpha);
+ void update_gui();
+ void handle_done_event(int result);
+
+ int color;
+ GWindowColorButton *color_button;
+ GWindowColorUpdate *color_update;
+};
+
+class GWindowColorUpdate : public Thread
+{
+public:
+ GWindowColorUpdate(GWindowColorThread *color_thread);
+ ~GWindowColorUpdate();
+
+ void start();
+ void stop();
+ void run();
+
+ int done;
+ Condition *update_lock;
+ GWindowColorThread *color_thread;