r1014: Enable horizontal scrolling with the mouse wheel by pressing Ctrl.
[cinelerra_cv/ct.git] / cinelerra / resizetrackthread.h
blobc1cd06eec7d10deb19bc9bba91854e1740412502
1 #ifndef RESIZETRACKTHREAD_H
2 #define RESIZETRACKTHREAD_h
8 #include "guicast.h"
9 #include "mutex.inc"
10 #include "mwindow.inc"
11 #include "thread.h"
12 #include "track.inc"
15 class ResizeTrackWindow;
17 class ResizeTrackThread : public Thread
19 public:
20 ResizeTrackThread(MWindow *mwindow, int track_number);
21 ~ResizeTrackThread();
23 void start_window(Track *track, int track_number);
24 void run();
26 ResizeTrackWindow *window;
27 MWindow *mwindow;
28 int track_number;
29 int w, h;
30 int w1, h1;
31 double w_scale, h_scale;
36 class ResizeTrackWindow;
39 class ResizeTrackWidth : public BC_TextBox
41 public:
42 ResizeTrackWidth(ResizeTrackWindow *gui,
43 ResizeTrackThread *thread,
44 int x,
45 int y);
46 int handle_event();
47 ResizeTrackWindow *gui;
48 ResizeTrackThread *thread;
51 class ResizeTrackSwap : public BC_Button
53 public:
54 ResizeTrackSwap(ResizeTrackWindow *gui,
55 ResizeTrackThread *thread,
56 int x,
57 int y);
58 int handle_event();
59 ResizeTrackWindow *gui;
60 ResizeTrackThread *thread;
63 class ResizeTrackHeight : public BC_TextBox
65 public:
66 ResizeTrackHeight(ResizeTrackWindow *gui,
67 ResizeTrackThread *thread,
68 int x,
69 int y);
70 int handle_event();
71 ResizeTrackWindow *gui;
72 ResizeTrackThread *thread;
76 class ResizeTrackScaleW : public BC_TextBox
78 public:
79 ResizeTrackScaleW(ResizeTrackWindow *gui,
80 ResizeTrackThread *thread,
81 int x,
82 int y);
83 int handle_event();
84 ResizeTrackWindow *gui;
85 ResizeTrackThread *thread;
88 class ResizeTrackScaleH : public BC_TextBox
90 public:
91 ResizeTrackScaleH(ResizeTrackWindow *gui,
92 ResizeTrackThread *thread,
93 int x,
94 int y);
95 int handle_event();
96 ResizeTrackWindow *gui;
97 ResizeTrackThread *thread;
101 class ResizeTrackWindow : public BC_Window
103 public:
104 ResizeTrackWindow(MWindow *mwindow,
105 ResizeTrackThread *thread,
106 int x,
107 int y);
108 ~ResizeTrackWindow();
110 void create_objects();
111 void update(int changed_scale,
112 int changed_size,
113 int changed_all);
115 MWindow *mwindow;
116 ResizeTrackThread *thread;
117 ResizeTrackWidth *w;
118 ResizeTrackHeight *h;
119 ResizeTrackScaleW *w_scale;
120 ResizeTrackScaleH *h_scale;
125 #endif