X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;ds=sidebyside;f=cinelerra-5.1%2Fplugins%2Ffindobj%2Ffindobjwindow.h;h=02feee23bd21941503372df59e011acc8b7634d8;hb=a94468d6de897136e77c70662177f4b8b4454b6b;hp=0aa7e4ff37626f19a50431b5150dce5788cf4d54;hpb=9f682a609a1817808682efa68cb96a296815bf80;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/plugins/findobj/findobjwindow.h b/cinelerra-5.1/plugins/findobj/findobjwindow.h index 0aa7e4ff..02feee23 100644 --- a/cinelerra-5.1/plugins/findobj/findobjwindow.h +++ b/cinelerra-5.1/plugins/findobj/findobjwindow.h @@ -23,20 +23,39 @@ #ifndef __FINDOBJWINDOW_H__ #define __FINDOBJWINDOW_H__ -#include "guicast.h" +#include "dragcheckbox.h" #include "findobj.inc" +#include "guicast.h" +class FindObjReset; class FindObjLayer; class FindObjScanFloat; class FindObjScanFloatText; -class FindObjDrawBorder; +class FindObjDrawSceneBorder; class FindObjDrawKeypoints; class FindObjReplace; class FindObjDrawObjectBorder; +class FindObjDrawReplaceBorder; +class FindObjDragObject; +class FindObjDragScene; +class FindObjDragReplace; class FindObjAlgorithm; +class FindObjMode; +class FindObjScale; +class FindObjRotate; +class FindObjTranslate; class FindObjBlend; class FindObjWindow; +class FindObjReset : public BC_GenericButton +{ +public: + FindObjReset(FindObjMain *plugin, FindObjWindow *gui, int x, int y); + int handle_event(); + FindObjMain *plugin; + FindObjWindow *gui; +}; + class FindObjLayer : public BC_TumbleTextBox { public: @@ -52,8 +71,10 @@ public: class FindObjScanFloat : public BC_FPot { public: - FindObjScanFloat(FindObjMain *plugin, FindObjWindow *gui, int x, int y, float *value); + FindObjScanFloat(FindObjMain *plugin, FindObjWindow *gui, int x, int y, + float *value, float min=0., float max=100.); int handle_event(); + void update(float v); FindObjMain *plugin; FindObjWindow *gui; FindObjScanFloatText *center_text; @@ -72,10 +93,28 @@ public: }; -class FindObjDrawBorder : public BC_CheckBox +class FindObjDrawSceneBorder : public BC_CheckBox +{ +public: + FindObjDrawSceneBorder(FindObjMain *plugin, FindObjWindow *gui, int x, int y); + int handle_event(); + FindObjMain *plugin; + FindObjWindow *gui; +}; + +class FindObjDrawObjectBorder : public BC_CheckBox { public: - FindObjDrawBorder(FindObjMain *plugin, FindObjWindow *gui, int x, int y); + FindObjDrawObjectBorder(FindObjMain *plugin, FindObjWindow *gui, int x, int y); + int handle_event(); + FindObjMain *plugin; + FindObjWindow *gui; +}; + +class FindObjDrawReplaceBorder : public BC_CheckBox +{ +public: + FindObjDrawReplaceBorder(FindObjMain *plugin, FindObjWindow *gui, int x, int y); int handle_event(); FindObjMain *plugin; FindObjWindow *gui; @@ -99,11 +138,50 @@ public: FindObjWindow *gui; }; -class FindObjDrawObjectBorder : public BC_CheckBox +class FindObjDragScene : public DragCheckBox { public: - FindObjDrawObjectBorder(FindObjMain *plugin, FindObjWindow *gui, int x, int y); + FindObjDragScene(FindObjMain *plugin, FindObjWindow *gui, int x, int y, + float drag_x, float drag_y, float drag_w, float drag_h); + ~FindObjDragScene(); + int handle_event(); + Track *get_drag_track(); + int64_t get_drag_position(); + void update_gui(); + + FindObjMain *plugin; + FindObjWindow *gui; + +}; + +class FindObjDragObject : public DragCheckBox +{ +public: + FindObjDragObject(FindObjMain *plugin, FindObjWindow *gui, int x, int y, + float drag_x, float drag_y, float drag_w, float drag_h); + ~FindObjDragObject(); + + int handle_event(); + Track *get_drag_track(); + int64_t get_drag_position(); + void update_gui(); + + FindObjMain *plugin; + FindObjWindow *gui; +}; + +class FindObjDragReplace : public DragCheckBox +{ +public: + FindObjDragReplace(FindObjMain *plugin, FindObjWindow *gui, int x, int y, + float drag_x, float drag_y, float drag_w, float drag_h); + ~FindObjDragReplace(); + int handle_event(); + Track *get_drag_track(); + int64_t get_drag_position(); + void update_gui(); + FindObjMain *plugin; FindObjWindow *gui; }; @@ -114,6 +192,7 @@ public: FindObjAlgorithm(FindObjMain *plugin, FindObjWindow *gui, int x, int y); int handle_event(); void create_objects(); + void update(int mode); static int calculate_w(FindObjWindow *gui); static int from_text(char *text); static char* to_text(int mode); @@ -130,6 +209,47 @@ public: FindObjWindow *gui; }; +class FindObjScale : public BC_CheckBox +{ +public: + FindObjScale(FindObjMain *plugin, FindObjWindow *gui, int x, int y); + int handle_event(); + FindObjMain *plugin; + FindObjWindow *gui; +}; + +class FindObjRotate : public BC_CheckBox +{ +public: + FindObjRotate(FindObjMain *plugin, FindObjWindow *gui, int x, int y); + int handle_event(); + FindObjMain *plugin; + FindObjWindow *gui; +}; + +class FindObjTranslate : public BC_CheckBox +{ +public: + FindObjTranslate(FindObjMain *plugin, FindObjWindow *gui, int x, int y); + int handle_event(); + FindObjMain *plugin; + FindObjWindow *gui; +}; + +class FindObjMode : public BC_PopupMenu +{ +public: + FindObjMode(FindObjMain *plugin, FindObjWindow *gui, int x, int y); + int handle_event(); + void create_objects(); + void update(int mode); + static int calculate_w(FindObjWindow *gui); + static int from_text(char *text); + static char *to_text(int mode); + FindObjMain *plugin; + FindObjWindow *gui; +}; + class FindObjBlend : public BC_IPot { public: @@ -145,17 +265,32 @@ public: FindObjWindow(FindObjMain *plugin); ~FindObjWindow(); void create_objects(); + void update_drag(); + void update_gui(); + FindObjReset *reset; FindObjAlgorithm *algorithm; FindObjUseFlann *use_flann; + FindObjMode *mode; + FindObjScale *scale; + FindObjRotate *rotate; + FindObjTranslate *translate; FindObjScanFloat *object_x, *object_y, *object_w, *object_h; FindObjScanFloatText *object_x_text, *object_y_text, *object_w_text, *object_h_text; FindObjScanFloat *scene_x, *scene_y, *scene_w, *scene_h; FindObjScanFloatText *scene_x_text, *scene_y_text, *scene_w_text, *scene_h_text; + FindObjScanFloat *replace_x, *replace_y, *replace_w, *replace_h; + FindObjScanFloatText *replace_x_text, *replace_y_text, *replace_w_text, *replace_h_text; + FindObjScanFloat *replace_dx, *replace_dy; + FindObjScanFloatText *replace_dx_text, *replace_dy_text; FindObjDrawKeypoints *draw_keypoints; - FindObjDrawBorder *draw_border; + FindObjDrawSceneBorder *draw_scene_border; FindObjReplace *replace_object; FindObjDrawObjectBorder *draw_object_border; + FindObjDrawReplaceBorder *draw_replace_border; + FindObjDragObject *drag_object; + FindObjDragScene *drag_scene; + FindObjDragReplace *drag_replace; FindObjLayer *object_layer; FindObjLayer *scene_layer; FindObjLayer *replace_layer;