X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Feditpanel.h;h=9adbaf62b567be40dc2c015ff9f7ebf45a211b4b;hp=67ab431d4d95e74818e5dab2256d76025dc4d315;hb=9ffdfbe8e6fa7daaad4dcfdd46b6ac7b6e7a47e8;hpb=620f70a943c1f47880ec68a908aa03bf463e741f diff --git a/cinelerra-5.1/cinelerra/editpanel.h b/cinelerra-5.1/cinelerra/editpanel.h index 67ab431d..9adbaf62 100644 --- a/cinelerra-5.1/cinelerra/editpanel.h +++ b/cinelerra-5.1/cinelerra/editpanel.h @@ -22,11 +22,15 @@ #ifndef EDITPANEL_H #define EDITPANEL_H +#include "bcdialog.h" #include "guicast.h" #include "editpanel.inc" #include "meterpanel.inc" #include "mwindow.inc" #include "manualgoto.inc" +#include "scopewindow.h" + + class EditPanel; @@ -341,6 +345,66 @@ public: }; +class EditPanelScopeGUI : public ScopeGUI +{ +public: + EditPanelScopeGUI(MWindow *mwindow, EditPanelScopeDialog *dialog); + ~EditPanelScopeGUI(); + + void create_objects(); + void toggle_event(); + int translation_event(); + int resize_event(int w, int h); + void update_scope(); + + MWindow *mwindow; + EditPanelScopeDialog *dialog; +}; + +class EditPanelScopeDialog : public BC_DialogThread +{ +public: + EditPanelScopeDialog(MWindow *mwindow, EditPanel *panel); + ~EditPanelScopeDialog(); + + void handle_close_event(int result); + void handle_done_event(int result); + BC_Window* new_gui(); + void process(VFrame *output_frame); + + MWindow *mwindow; + EditPanel *panel; + EditPanelScopeGUI *scope_gui; + Mutex *gui_lock; + VFrame *output_frame; +}; + +class EditPanelGangTracks : public BC_Button +{ + static VFrame **gang_images[TOTAL_GANGS]; + static const char *gang_tips[TOTAL_GANGS]; +public: + EditPanelGangTracks(MWindow *mwindow, EditPanel *panel, int x, int y); + ~EditPanelGangTracks(); + VFrame **get_images(MWindow *mwindow); + void update(int gang); + int handle_event(); + EditPanel *panel; + MWindow *mwindow; +}; + + +class EditPanelScope : public BC_Toggle +{ +public: + EditPanelScope(MWindow *mwindow, EditPanel *panel, int x, int y); + ~EditPanelScope(); + int handle_event(); + EditPanel *panel; + MWindow *mwindow; +}; + + class EditPanel { public: @@ -362,7 +426,9 @@ public: int use_cut, int use_commerical, int use_goto, - int use_clk2play); + int use_clk2play, + int use_scope, + int use_gang_tracks); ~EditPanel(); void set_meters(MeterPanel *meter_panel); @@ -400,6 +466,7 @@ public: virtual void panel_set_auto_keyframes(int v) = 0; virtual void panel_set_span_keyframes(int v) = 0; virtual void panel_set_labels_follow_edits(int v) = 0; + virtual void panel_set_gang_tracks(int mode) = 0; MWindow *mwindow; BC_WindowBase *subwindow; @@ -424,6 +491,8 @@ public: int use_commercial; int use_goto; int use_clk2play; + int use_scope; + int use_gang_tracks; EditFit *fit; EditFitAutos *fit_autos; @@ -438,6 +507,8 @@ public: EditCommercial *commercial; EditManualGoto *mangoto; EditClick2Play *click2play; + EditPanelScope *scope; + EditPanelScopeDialog *scope_dialog; EditCopy *copy; EditPaste *paste; EditLabelbutton *labelbutton; @@ -445,6 +516,7 @@ public: EditNextLabel *nextlabel; EditPrevEdit *prevedit; EditNextEdit *nextedit; + EditPanelGangTracks *gang_tracks; EditUndo *undo; EditRedo *redo; MeterShow *meters;