/*
* CINELERRA
* Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
- *
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
+ *
*/
#ifndef COLORPICKER_H
#define COLORPICKER_H
+#include "bcdialog.h"
#include "condition.inc"
#include "guicast.h"
#include "mutex.inc"
class PaletteBlue;
class PaletteAlpha;
-class ColorThread : public Thread
+class ColorThread : public BC_DialogThread
{
public:
- ColorThread(int do_alpha = 0, char *title = 0);
+ ColorThread(int do_alpha = 0, const char *title = 0);
~ColorThread();
-
- void run();
- void start_window(int output, int alpha);
+ void start_window(int output, int alpha, int do_okcancel=0);
virtual int handle_new_color(int output, int alpha);
void update_gui(int output, int alpha);
- ColorWindow* get_gui();
-
-private:
- friend class ColorWindow;
+ BC_Window* new_gui();
- ColorWindow *window;
- Condition *completion;
-// protects window, output, alpha
- Mutex *mutex;
-// Starting color
- int output;
- int alpha;
- int do_alpha;
- char *title;
+ int output, alpha;
+ int do_alpha, do_okcancel;
+ const char *title;
};
class ColorWindow : public BC_Window
{
public:
- ColorWindow(ColorThread *thread, int x, int y, char *title);
+ ColorWindow(ColorThread *thread, int x, int y, int w, int h, const char *title);
void create_objects();
void change_values();