splashgui text clr, faders/speed keyframe popup slider rework, reticle rework
[goodguy/history.git] / cinelerra-5.1 / cinelerra / vpatchgui.h
index e368c8ec131e8786af402080ecf9fce241bd744a..76140a41d9b124fca90044a219107c87b5ba8f59 100644 (file)
 #ifndef VPATCHGUI_H
 #define VPATCHGUI_H
 
+#include "bcmenuitem.h"
+#include "bcmenupopup.h"
 #include "floatauto.inc"
 #include "guicast.h"
 #include "patchgui.h"
 #include "vpatchgui.inc"
 #include "vtrack.inc"
 
-class VFadePatch;
-class VModePatch;
-
 class VPatchGUI : public PatchGUI
 {
 public:
@@ -44,7 +43,7 @@ public:
        void create_objects();
        int reposition(int x, int y);
        int update(int x, int y);
-       void synchronize_fade(float value_change);
+       void update_faders(float v);
 
        VTrack *vtrack;
        VModePatch *mode;
@@ -54,10 +53,8 @@ public:
 class VFadePatch : public BC_ISlider
 {
 public:
-       VFadePatch(MWindow *mwindow, VPatchGUI *patch, int x, int y, int w);
+       VFadePatch(VPatchGUI *patch, int x, int y, int w, int64_t v);
        int handle_event();
-       float update_edl();
-       MWindow *mwindow;
        VPatchGUI *patch;
 };
 
@@ -66,17 +63,37 @@ class VKeyFadePatch : public BC_SubWindow
 public:
        VKeyFadePatch(MWindow *mwindow, VPatchGUI *patch, int x, int y);
        void create_objects();
+       void update(int64_t v);
 
        MWindow *mwindow;
        VPatchGUI *patch;
-       VKeyFadeValue *vkey_fade_value;
+       VKeyFadeOK *vkey_fade_ok;
+       VKeyFadeText *vkey_fade_text;
+       VKeyFadeSlider *vkey_fade_slider;
+};
+
+class VKeyFadeOK : public BC_Button
+{
+public:
+       VKeyFadeOK(VKeyFadePatch *vkey_fade_patch, int x, int y, VFrame **images);
+       int handle_event();
+
+       VKeyFadePatch *vkey_fade_patch;
+};
+
+class VKeyFadeText : public BC_TextBox
+{
+public:
+       VKeyFadeText(VKeyFadePatch *vkey_fade_patch, int x, int y, int w, int64_t v);
+       int handle_event();
+
+       VKeyFadePatch *vkey_fade_patch;
 };
 
-class VKeyFadeValue : public VFadePatch
+class VKeyFadeSlider : public VFadePatch
 {
 public:
-       VKeyFadeValue(VKeyFadePatch *vkey_fade_patch);
-       int button_release_event();
+       VKeyFadeSlider(VKeyFadePatch *akey_fade_patch, int x, int y, int w, int64_t v);
        int handle_event();
 
        VKeyFadePatch *vkey_fade_patch;
@@ -108,13 +125,38 @@ public:
        int mode;
 };
 
+class VModePatchSubMenu : public BC_SubMenu
+{
+public:
+       VModePatchSubMenu(VModePatchItem *mode_item);
+       ~VModePatchSubMenu();
+
+       VModePatchItem *mode_item;
+};
+
+class VModeSubMenuItem : public BC_MenuItem
+{
+public:
+       VModeSubMenuItem(VModePatchSubMenu *submenu, const char *text, int mode);
+       ~VModeSubMenuItem();
+
+       int handle_event();
+       VModePatchSubMenu *submenu;
+       int mode;
+};
+
 class VKeyModePatch : public VModePatch
 {
 public:
        VKeyModePatch(MWindow *mwindow, VPatchGUI *patch);
-       int button_release_event();
        int handle_event();
 };
 
+class VMixPatch : public MixPatch
+{
+public:
+       VMixPatch(MWindow *mwindow, VPatchGUI *patch, int x, int y);
+       ~VMixPatch();
+};
 
 #endif