version update
[goodguy/cinelerra.git] / cinelerra-5.1 / guicast / bcdragbox.h
1 #ifndef __BC_DRAGRECT_H__
2 #define __BC_DRAGRECT_H__
3
4 #include "bcwindowbase.inc"
5 #include "bcdragbox.inc"
6 #include "bcpopup.h"
7 #include "thread.h"
8
9
10 class BC_DragBox : public Thread
11 {
12 public:
13         BC_DragBox(BC_WindowBase *parent);
14         ~BC_DragBox();
15         void start_drag();
16         void run();
17         virtual int handle_done_event(int x0, int y0, int x1, int y1) { return 0; }
18
19         BC_Popup *edge[4];
20         BC_WindowBase *parent;
21         BC_DragBoxPopup *popup;
22         int done;
23 };
24
25 class BC_DragBoxPopup : public BC_Popup
26 {
27 public:
28         BC_DragBoxPopup(BC_DragBox *grab_thread);
29         ~BC_DragBoxPopup();
30         int grab_event(XEvent *event);
31         void update();
32         void draw_selection(int show);
33
34         BC_DragBox *grab_thread;
35         int dragging;
36         int grab_color;
37         int x0, y0, x1, y1;
38         int lx0, ly0, lx1, ly1;
39 };
40
41 #endif