X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;ds=sidebyside;f=cinelerra-5.1%2Fcinelerra%2Fcwindowtool.h;h=c8918071a1fda2223b4dd7c178a97822f5c749f3;hb=8e67d840c5a93f77de021102a4f0bfc4e07504f4;hp=6a9c0f77b59a82bc25135bd8e464ca682f826182;hpb=fb661e853152fd63537629a20f493a4cdcd4f019;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/cwindowtool.h b/cinelerra-5.1/cinelerra/cwindowtool.h index 6a9c0f77..c8918071 100644 --- a/cinelerra-5.1/cinelerra/cwindowtool.h +++ b/cinelerra-5.1/cinelerra/cwindowtool.h @@ -31,6 +31,17 @@ #include "maskautos.inc" #include "mwindow.inc" +enum { + MASK_SHAPE_SQUARE, + MASK_SHAPE_CIRCLE, + MASK_SHAPE_TRIANGLE, + MASK_SHAPE_OVAL, +}; +enum { + MASK_SCALE_X, + MASK_SCALE_Y, + MASK_SCALE_XY, +}; // This common thread supports all the tool GUI's. class CWindowTool : public Thread @@ -189,11 +200,11 @@ public: void update_items(MaskAuto *keyframe); }; -class CWindowMaskUnclear : public BC_GenericButton +class CWindowMaskUnclear : public BC_Button { public: CWindowMaskUnclear(MWindow *mwindow, CWindowMaskGUI *gui, - int x, int y, int w); + int x, int y); int handle_event(); MWindow *mwindow; CWindowMaskGUI *gui; @@ -323,6 +334,17 @@ public: CWindowMaskGUI *gui; }; +class CWindowMaskGangPoint : public BC_Toggle +{ +public: + CWindowMaskGangPoint(MWindow *mwindow, CWindowMaskGUI *gui, + int x, int y); + ~CWindowMaskGangPoint(); + int handle_event(); + MWindow *mwindow; + CWindowMaskGUI *gui; +}; + class CWindowMaskSmoothButton : public BC_Button { public: @@ -409,7 +431,6 @@ public: CWindowMaskDelPoint(MWindow *mwindow, CWindowMaskGUI *gui, int x, int y); int handle_event(); - int keypress_event(); MWindow *mwindow; CWindowMaskGUI *gui; }; @@ -435,11 +456,13 @@ public: ~CWindowMaskFeatherSlider(); int handle_event(); int update(float v); + int update(int r, float v, float mn, float mx); char *get_caption() { return 0; } MWindow *mwindow; CWindowMaskGUI *gui; int stick; float last_v; + float max; Timer *timer; }; @@ -463,7 +486,20 @@ public: CWindowMaskGUI *gui; }; -class CWindowMaskLoad : public BC_GenericButton +class CWindowMaskLoadList : public BC_ListBox +{ +public: + CWindowMaskLoadList(MWindow *mwindow, CWindowMaskGUI *gui); + ~CWindowMaskLoadList(); + void create_objects(); + int handle_event(); + + MWindow *mwindow; + CWindowMaskGUI *gui; + CWindowMaskItems shape_items; +}; + +class CWindowMaskLoad : public BC_Button { public: CWindowMaskLoad(MWindow *mwindow, CWindowMaskGUI *gui, @@ -474,7 +510,7 @@ public: CWindowMaskGUI *gui; }; -class CWindowMaskSave : public BC_GenericButton +class CWindowMaskSave : public BC_Button { public: CWindowMaskSave(MWindow *mwindow, CWindowMaskGUI *gui, @@ -527,7 +563,7 @@ public: CWindowMaskItems mask_items; }; -class CWindowMaskDelete : public BC_GenericButton +class CWindowMaskDelete : public BC_Button { public: CWindowMaskDelete(MWindow *mwindow, CWindowMaskGUI *gui, @@ -538,7 +574,7 @@ public: CWindowMaskGUI *gui; }; -class CWindowMaskCenter : public BC_GenericButton +class CWindowMaskCenter : public BC_Button { public: CWindowMaskCenter(MWindow *mwindow, CWindowMaskGUI *gui, @@ -549,7 +585,7 @@ public: CWindowMaskGUI *gui; }; -class CWindowMaskNormal : public BC_GenericButton +class CWindowMaskNormal : public BC_Button { public: CWindowMaskNormal(MWindow *mwindow, CWindowMaskGUI *gui, @@ -560,21 +596,18 @@ public: CWindowMaskGUI *gui; }; -class CWindowMaskShape : public BC_ListBox +class CWindowMaskShape : public BC_Button { public: - enum { MASK_SHAPE_SQUARE, MASK_SHAPE_CIRCLE, - MASK_SHAPE_TRIANGLE, MASK_SHAPE_OVAL, - MASK_SHAPE_BUILTIN }; - CWindowMaskShape(MWindow *mwindow, CWindowMaskGUI *gui); + CWindowMaskShape(MWindow *mwindow, CWindowMaskGUI *gui, + const char *images, int shape, int x, int y, const char *tip); ~CWindowMaskShape(); - void create_objects(); void builtin_shape(int i, SubMask *sub_mask); - void load_shape(int i, SubMask *sub_mask); int handle_event(); MWindow *mwindow; CWindowMaskGUI *gui; + int shape; CWindowMaskItems shape_items; }; @@ -620,9 +653,13 @@ public: CWindowMaskDelMask *mask_del; CWindowMaskUnclear *mask_unclr; CWindowMaskClrMask *mask_clr; - CWindowMaskShape *mask_shape; - CWindowMaskSave *mask_save; + CWindowMaskShape *mask_shape_sqr; + CWindowMaskShape *mask_shape_crc; + CWindowMaskShape *mask_shape_tri; + CWindowMaskShape *mask_shape_ovl; + CWindowMaskLoadList *mask_load_list; CWindowMaskLoad *mask_load; + CWindowMaskSave *mask_save; CWindowMaskDelete *mask_delete; CWindowMaskPresetDialog *preset_dialog; CWindowMaskCenter *mask_center; @@ -632,6 +669,7 @@ public: CWindowMaskGangFader *gang_fader; CWindowMaskAffectedPoint *active_point; CWindowMaskDelPoint *del_point; + CWindowMaskGangPoint *gang_point; CWindowMaskSmoothButton *mask_pnt_linear, *mask_pnt_smooth; CWindowMaskSmoothButton *mask_crv_linear, *mask_crv_smooth; CWindowMaskSmoothButton *mask_all_linear, *mask_all_smooth;