r1014: Enable horizontal scrolling with the mouse wheel by pressing Ctrl.
[cinelerra_cv/ct.git] / cinelerra / vpatchgui.h
blobbcf1b8db4e91a71f00cdb9b9815cb7ea3deb4d8a
1 #ifndef VPATCHGUI_H
2 #define VPATCHGUI_H
4 #include "floatauto.inc"
5 #include "guicast.h"
6 #include "patchgui.h"
7 #include "vpatchgui.inc"
8 #include "vtrack.inc"
10 class VFadePatch;
11 class VModePatch;
13 class VPatchGUI : public PatchGUI
15 public:
16 VPatchGUI(MWindow *mwindow,
17 PatchBay *patchbay,
18 VTrack *track,
19 int x,
20 int y);
21 ~VPatchGUI();
23 int create_objects();
24 int reposition(int x, int y);
25 int update(int x, int y);
26 void synchronize_fade(float value_change);
28 VTrack *vtrack;
29 VModePatch *mode;
30 VFadePatch *fade;
33 class VFadePatch : public BC_ISlider
35 public:
36 VFadePatch(MWindow *mwindow, VPatchGUI *patch, int x, int y, int w);
37 int handle_event();
38 float update_edl();
39 static FloatAuto* get_keyframe(MWindow *mwindow, VPatchGUI *patch);
40 MWindow *mwindow;
41 VPatchGUI *patch;
44 class VModePatch : public BC_PopupMenu
46 public:
47 VModePatch(MWindow *mwindow, VPatchGUI *patch, int x, int y);
49 int handle_event();
50 int create_objects(); // add initial items
51 static char* mode_to_text(int mode);
52 static IntAuto* get_keyframe(MWindow *mwindow, VPatchGUI *patch);
53 void update(int mode);
55 MWindow *mwindow;
56 VPatchGUI *patch;
57 int mode;
60 class VModePatchItem : public BC_MenuItem
62 public:
63 VModePatchItem(VModePatch *popup, char *text, int mode);
65 int handle_event();
66 VModePatch *popup;
67 int mode;
71 #endif