X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fvpatchgui.h;h=76140a41d9b124fca90044a219107c87b5ba8f59;hp=4d791e89f7ab05e426e50a786761e54f40d88bf8;hb=702161ddaf384a773831f1643fca0a54133625b2;hpb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd diff --git a/cinelerra-5.1/cinelerra/vpatchgui.h b/cinelerra-5.1/cinelerra/vpatchgui.h index 4d791e89..76140a41 100644 --- a/cinelerra-5.1/cinelerra/vpatchgui.h +++ b/cinelerra-5.1/cinelerra/vpatchgui.h @@ -22,15 +22,14 @@ #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,23 +53,61 @@ 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(); - static FloatAuto* get_keyframe(MWindow *mwindow, VPatchGUI *patch); + VPatchGUI *patch; +}; + +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; + 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 VKeyFadeSlider : public VFadePatch +{ +public: + VKeyFadeSlider(VKeyFadePatch *akey_fade_patch, int x, int y, int w, int64_t v); + int handle_event(); + + VKeyFadePatch *vkey_fade_patch; }; class VModePatch : public BC_PopupMenu { public: VModePatch(MWindow *mwindow, VPatchGUI *patch, int x, int y); + VModePatch(MWindow *mwindow, VPatchGUI *patch); int handle_event(); void create_objects(); // add initial items static const char* mode_to_text(int mode); - static IntAuto* get_keyframe(MWindow *mwindow, VPatchGUI *patch); void update(int mode); MWindow *mwindow; @@ -88,5 +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 handle_event(); +}; + +class VMixPatch : public MixPatch +{ +public: + VMixPatch(MWindow *mwindow, VPatchGUI *patch, int x, int y); + ~VMixPatch(); +}; #endif