X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fkeyframepopup.h;h=99220c94b5abfb4d197b3da938090ff623dbd224;hp=d774686b77fc503023fe398956472bbef23d4031;hb=0513350234a8dcd08e5a0117d5121724ef7b76b6;hpb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd diff --git a/cinelerra-5.1/cinelerra/keyframepopup.h b/cinelerra-5.1/cinelerra/keyframepopup.h index d774686b..99220c94 100644 --- a/cinelerra-5.1/cinelerra/keyframepopup.h +++ b/cinelerra-5.1/cinelerra/keyframepopup.h @@ -2,43 +2,40 @@ /* * CINELERRA * Copyright (C) 2008 Adam Williams - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * + * */ #ifndef KEYFRAMEPOPUP_H #define KEYFRAMEPOPUP_H +#include "apatchgui.h" #include "guicast.h" #include "mwindow.inc" #include "mwindowgui.inc" +#include "patchgui.inc" #include "plugin.inc" #include "plugindialog.inc" #include "keyframe.inc" -#include "automation.h" +#include "keyframepopup.inc" +#include "automation.h" #include "floatauto.h" -class KeyframePopupDelete; -class KeyframePopupShow; -class KeyframePopupCopy; -class KeyframePopupCurveMode; -class KeyframePopupEdit; - - + class KeyframePopup : public BC_PopupMenu { public: @@ -52,15 +49,16 @@ public: MWindow *mwindow; MWindowGUI *gui; // Acquired through the update command as the plugin currently being operated on - + Plugin *keyframe_plugin; Autos *keyframe_autos; Automation *keyframe_automation; Auto *keyframe_auto; BC_MenuItem *key_mbar; -private: +private: KeyframePopupDelete *key_delete; + KeyframePopupHide *key_hide; KeyframePopupShow *key_show; KeyframePopupCopy *key_copy; KeyframePopupEdit *key_edit; @@ -68,6 +66,7 @@ private: KeyframePopupCurveMode *key_linear; KeyframePopupCurveMode *key_free_t; KeyframePopupCurveMode *key_free; + bool key_edit_displayed; bool key_mode_displayed; void handle_curve_mode(Autos *autos, Auto *auto_keyframe); @@ -79,7 +78,18 @@ public: KeyframePopupDelete(MWindow *mwindow, KeyframePopup *popup); ~KeyframePopupDelete(); int handle_event(); - + + MWindow *mwindow; + KeyframePopup *popup; +}; + +class KeyframePopupHide : public BC_MenuItem +{ +public: + KeyframePopupHide(MWindow *mwindow, KeyframePopup *popup); + ~KeyframePopupHide(); + int handle_event(); + MWindow *mwindow; KeyframePopup *popup; }; @@ -90,7 +100,7 @@ public: KeyframePopupShow(MWindow *mwindow, KeyframePopup *popup); ~KeyframePopupShow(); int handle_event(); - + MWindow *mwindow; KeyframePopup *popup; }; @@ -101,7 +111,7 @@ public: KeyframePopupCopy(MWindow *mwindow, KeyframePopup *popup); ~KeyframePopupCopy(); int handle_event(); - + MWindow *mwindow; KeyframePopup *popup; }; @@ -119,11 +129,11 @@ private: int curve_mode; const char* get_labeltext(int); void toggle_mode(FloatAuto*); - + friend class KeyframePopup; }; - + class KeyframePopupEdit : public BC_MenuItem { public: @@ -134,4 +144,74 @@ public: KeyframePopup *popup; }; +class KeyframeHidePopup : public BC_PopupMenu +{ +public: + KeyframeHidePopup(MWindow *mwindow, MWindowGUI *gui); + ~KeyframeHidePopup(); + + void create_objects(); + int update(Autos *autos); + + MWindow *mwindow; + MWindowGUI *gui; + Autos *keyframe_autos; +}; + +class KeyframeHideItem : public BC_MenuItem +{ +public: + KeyframeHideItem(MWindow *mwindow, KeyframeHidePopup *popup); + int handle_event(); + + MWindow *mwindow; + KeyframeHidePopup *popup; +}; + +class KeyMutePatch : public BC_SubWindow +{ +public: + KeyMutePatch(MWindow *mwindow, PatchGUI *patch, int x, int y); + void create_objects(); + + MWindow *mwindow; + PatchGUI *patch; + KeyMuteValue *key_mute_checkbox; +}; + +class KeyMuteValue : public BC_CheckBox +{ +public: + KeyMuteValue(KeyMutePatch *key_mute_patch); + void update_edl(); + int button_release_event(); + int handle_event(); + + KeyMutePatch *key_mute_patch; +}; + +class KeySpeedPatch : public BC_SubWindow +{ +public: + KeySpeedPatch(MWindow *mwindow, PatchGUI *patch, int x, int y); + void create_objects(); + + MWindow *mwindow; + PatchGUI *patch; + KeySpeedValue *key_speed_slider; +}; + +class KeySpeedValue : public BC_FSlider +{ +public: + KeySpeedValue(KeySpeedPatch *key_speed_patch); + ~KeySpeedValue(); + + void update_edl(); + int handle_event(); + int button_release_event(); + + KeySpeedPatch *key_speed_patch; +}; + #endif