X-Git-Url: https://cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fcwindowtool.h;h=c8918071a1fda2223b4dd7c178a97822f5c749f3;hb=8b315b1f6c8c44d65132cbbd558180ab03a585c0;hp=bfca94cf7dfedd4e562383bc96ae99ebb131536b;hpb=3f801b05e0de577b00e98019b099ed38d66b9550;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/cwindowtool.h b/cinelerra-5.1/cinelerra/cwindowtool.h index bfca94cf..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: @@ -354,6 +376,20 @@ public: int handle_event(); MWindow *mwindow; CWindowMaskGUI *gui; + static int calculate_w(CWindowMaskGUI *gui); +}; + +class CWindowMaskScaleXY : public BC_Toggle +{ +public: + CWindowMaskScaleXY(MWindow *mwindow, CWindowMaskGUI *gui, + int x, int y, VFrame **data, int v, + int id, const char *tip); + ~CWindowMaskScaleXY(); + int handle_event(); + MWindow *mwindow; + CWindowMaskGUI *gui; + int id; }; class CWindowMaskHelp : public BC_CheckBox @@ -395,7 +431,6 @@ public: CWindowMaskDelPoint(MWindow *mwindow, CWindowMaskGUI *gui, int x, int y); int handle_event(); - int keypress_event(); MWindow *mwindow; CWindowMaskGUI *gui; }; @@ -421,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; }; @@ -449,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, @@ -460,7 +510,7 @@ public: CWindowMaskGUI *gui; }; -class CWindowMaskSave : public BC_GenericButton +class CWindowMaskSave : public BC_Button { public: CWindowMaskSave(MWindow *mwindow, CWindowMaskGUI *gui, @@ -513,7 +563,7 @@ public: CWindowMaskItems mask_items; }; -class CWindowMaskDelete : public BC_GenericButton +class CWindowMaskDelete : public BC_Button { public: CWindowMaskDelete(MWindow *mwindow, CWindowMaskGUI *gui, @@ -524,7 +574,7 @@ public: CWindowMaskGUI *gui; }; -class CWindowMaskCenter : public BC_GenericButton +class CWindowMaskCenter : public BC_Button { public: CWindowMaskCenter(MWindow *mwindow, CWindowMaskGUI *gui, @@ -535,7 +585,7 @@ public: CWindowMaskGUI *gui; }; -class CWindowMaskNormal : public BC_GenericButton +class CWindowMaskNormal : public BC_Button { public: CWindowMaskNormal(MWindow *mwindow, CWindowMaskGUI *gui, @@ -546,18 +596,18 @@ public: CWindowMaskGUI *gui; }; -class CWindowMaskShape : public BC_ListBox +class CWindowMaskShape : public BC_Button { public: - 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; }; @@ -603,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; @@ -615,10 +669,13 @@ 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; CWindowCoord *x, *y; + CWindowMaskScaleXY *mask_scale_x, *mask_scale_y, *mask_scale_xy; + int scale_mode; CWindowMaskFocus *focus; int focused; CWindowMaskGangFocus *gang_focus;