00001 #ifndef RESIZETRACKTHREAD_H
00002 #define RESIZETRACKTHREAD_h
00003
00004
00005
00006
00007
00008 #include "guicast.h"
00009 #include "mutex.inc"
00010 #include "mwindow.inc"
00011 #include "thread.h"
00012 #include "track.inc"
00013
00014
00015 class ResizeTrackWindow;
00016
00017 class ResizeTrackThread : public Thread
00018 {
00019 public:
00020 ResizeTrackThread(MWindow *mwindow, int track_number);
00021 ~ResizeTrackThread();
00022
00023 void start_window(Track *track, int track_number);
00024 void run();
00025
00026 ResizeTrackWindow *window;
00027 MWindow *mwindow;
00028 int track_number;
00029 int w, h;
00030 int w1, h1;
00031 double w_scale, h_scale;
00032 };
00033
00034
00035
00036 class ResizeTrackWindow;
00037
00038
00039 class ResizeTrackWidth : public BC_TextBox
00040 {
00041 public:
00042 ResizeTrackWidth(ResizeTrackWindow *gui,
00043 ResizeTrackThread *thread,
00044 int x,
00045 int y);
00046 int handle_event();
00047 ResizeTrackWindow *gui;
00048 ResizeTrackThread *thread;
00049 };
00050
00051 class ResizeTrackHeight : public BC_TextBox
00052 {
00053 public:
00054 ResizeTrackHeight(ResizeTrackWindow *gui,
00055 ResizeTrackThread *thread,
00056 int x,
00057 int y);
00058 int handle_event();
00059 ResizeTrackWindow *gui;
00060 ResizeTrackThread *thread;
00061 };
00062
00063
00064 class ResizeTrackScaleW : public BC_TextBox
00065 {
00066 public:
00067 ResizeTrackScaleW(ResizeTrackWindow *gui,
00068 ResizeTrackThread *thread,
00069 int x,
00070 int y);
00071 int handle_event();
00072 ResizeTrackWindow *gui;
00073 ResizeTrackThread *thread;
00074 };
00075
00076 class ResizeTrackScaleH : public BC_TextBox
00077 {
00078 public:
00079 ResizeTrackScaleH(ResizeTrackWindow *gui,
00080 ResizeTrackThread *thread,
00081 int x,
00082 int y);
00083 int handle_event();
00084 ResizeTrackWindow *gui;
00085 ResizeTrackThread *thread;
00086 };
00087
00088
00089 class ResizeTrackWindow : public BC_Window
00090 {
00091 public:
00092 ResizeTrackWindow(MWindow *mwindow,
00093 ResizeTrackThread *thread,
00094 int x,
00095 int y);
00096 ~ResizeTrackWindow();
00097
00098 void create_objects();
00099 void update(int changed_scale,
00100 int changed_size,
00101 int changed_all);
00102
00103 MWindow *mwindow;
00104 ResizeTrackThread *thread;
00105 ResizeTrackWidth *w;
00106 ResizeTrackHeight *h;
00107 ResizeTrackScaleW *w_scale;
00108 ResizeTrackScaleH *h_scale;
00109 };
00110
00111
00112
00113 #endif