X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fcwindowtool.h;h=480663981dfdcdae24e9aa306aea562e25baedef;hb=0d719427668c3e1fd8982596317e3264a47aa6d9;hp=00e485e3c4cde4b90bda439e79d3a10539d0323f;hpb=c63c2c2707e1b1145db2edd6824bd69f59341e15;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/cwindowtool.h b/cinelerra-5.1/cinelerra/cwindowtool.h index 00e485e3..48066398 100644 --- a/cinelerra-5.1/cinelerra/cwindowtool.h +++ b/cinelerra-5.1/cinelerra/cwindowtool.h @@ -93,6 +93,7 @@ public: // Update EDL and preview only void update_preview(int changed_edl=0); + void update_auto(Track *track, int idx, CWindowCoord *vp); void draw_preview(int changed_edl); int current_operation; virtual int close_event(); @@ -103,6 +104,7 @@ public: MWindow *mwindow; CWindowTool *thread; CWindowCoord *event_caller; + int edge, span; }; class CWindowCoord : public BC_TumbleTextBox @@ -116,9 +118,13 @@ public: int handle_event(); CWindowToolGUI *gui; - CWindowCoordSlider *slider; - CWindowCoordRange *range; int type; + CWindowToolAutoRangeTumbler *min_tumbler; + CWindowCoordSlider *slider; + CWindowToolAutoRangeTumbler *max_tumbler; + CWindowToolAutoRangeReset *range_reset; + CWindowToolAutoRangeTextBox *range_text; + CWindowCoordRangeTumbler *range; }; class CWindowCoordSlider : public BC_FSlider @@ -132,11 +138,11 @@ public: CWindowCoord *coord; }; -class CWindowCoordRange : public BC_Tumbler +class CWindowCoordRangeTumbler : public BC_Tumbler { public: - CWindowCoordRange(CWindowCoord *coord, int x, int y); - ~CWindowCoordRange(); + CWindowCoordRangeTumbler(CWindowCoord *coord, int x, int y); + ~CWindowCoordRangeTumbler(); int update(float scale); int handle_up_event(); int handle_down_event(); @@ -144,6 +150,26 @@ public: CWindowCoord *coord; }; +class CWindowCurveAutoEdge : public BC_Toggle +{ +public: + CWindowCurveAutoEdge(MWindow *mwindow, CWindowToolGUI *gui, int x, int y); + int handle_event(); + + MWindow *mwindow; + CWindowToolGUI *gui; +}; + +class CWindowCurveAutoSpan : public BC_Toggle +{ +public: + CWindowCurveAutoSpan(MWindow *mwindow, CWindowToolGUI *gui, int x, int y); + + int handle_event(); + MWindow *mwindow; + CWindowToolGUI *gui; +}; + class CWindowCropApply : public BC_GenericButton { @@ -782,6 +808,38 @@ public: }; +class CWindowToolAutoRangeTumbler : public BC_Tumbler +{ +public: + CWindowToolAutoRangeTumbler(CWindowCoord *coord, int x, int y, + int use_max, const char *tip); + int handle_up_event(); + int handle_down_event(); + + CWindowCoord *coord; + int use_max; +}; + +class CWindowToolAutoRangeReset : public BC_Button +{ +public: + CWindowToolAutoRangeReset(CWindowCoord *coord, int x, int y); + int handle_event(); + + CWindowCoord *coord; +}; + +class CWindowToolAutoRangeTextBox : public BC_TextBox +{ +public: + CWindowToolAutoRangeTextBox(CWindowCoord *coord, int x, int y); + int button_press_event(); + int handle_event(); + int update_range(); + + CWindowCoord *coord; +}; + class CWindowCameraGUI : public CWindowToolGUI { @@ -792,10 +850,14 @@ public: void create_objects(); void update(); + BC_TitleBar *bar1, *bar2; CWindowCoord *x, *y, *z; CWindowCameraAddKeyframe *add_keyframe; CWindowCameraReset *reset; - CWindowCurveToggle *t_smooth, *t_linear; + BC_TitleBar *bar3, *bar4, *bar5; + CWindowCurveToggle *t_smooth, *t_linear, *t_tangent, *t_free, *t_bump; + CWindowCurveAutoSpan *auto_span; + CWindowCurveAutoEdge *auto_edge; }; class CWindowCameraLeft : public BC_Button @@ -888,10 +950,14 @@ public: void create_objects(); void update(); + BC_TitleBar *bar1, *bar2; CWindowCoord *x, *y, *z; CWindowProjectorAddKeyframe *add_keyframe; CWindowProjectorReset *reset; - CWindowCurveToggle *t_smooth, *t_linear; + BC_TitleBar *bar3, *bar4, *bar5; + CWindowCurveToggle *t_smooth, *t_linear, *t_tangent, *t_free, *t_bump; + CWindowCurveAutoSpan *auto_span; + CWindowCurveAutoEdge *auto_edge; }; class CWindowProjectorLeft : public BC_Button