add dragcheckbox, fix transition plugin title, sams opencv icons, drop libipp in...
[goodguy/history.git] / cinelerra-5.1 / plugins / findobj / findobjwindow.h
index 0aa7e4ff37626f19a50431b5150dce5788cf4d54..3c2aa634f26786bb40fc77b6a7e4e586a6ba8824 100644 (file)
 #ifndef __FINDOBJWINDOW_H__
 #define __FINDOBJWINDOW_H__
 
 #ifndef __FINDOBJWINDOW_H__
 #define __FINDOBJWINDOW_H__
 
-#include "guicast.h"
+#include "dragcheckbox.h"
 #include "findobj.inc"
 #include "findobj.inc"
+#include "guicast.h"
 
 class FindObjLayer;
 class FindObjScanFloat;
 class FindObjScanFloatText;
 
 class FindObjLayer;
 class FindObjScanFloat;
 class FindObjScanFloatText;
-class FindObjDrawBorder;
+class FindObjDrawSceneBorder;
 class FindObjDrawKeypoints;
 class FindObjReplace;
 class FindObjDrawObjectBorder;
 class FindObjDrawKeypoints;
 class FindObjReplace;
 class FindObjDrawObjectBorder;
+class FindObjDragObject;
+class FindObjDragScene;
 class FindObjAlgorithm;
 class FindObjBlend;
 class FindObjWindow;
 class FindObjAlgorithm;
 class FindObjBlend;
 class FindObjWindow;
@@ -54,6 +57,7 @@ class FindObjScanFloat : public BC_FPot
 public:
        FindObjScanFloat(FindObjMain *plugin, FindObjWindow *gui, int x, int y, float *value);
        int handle_event();
 public:
        FindObjScanFloat(FindObjMain *plugin, FindObjWindow *gui, int x, int y, float *value);
        int handle_event();
+       void update(float v);
        FindObjMain *plugin;
        FindObjWindow *gui;
        FindObjScanFloatText *center_text;
        FindObjMain *plugin;
        FindObjWindow *gui;
        FindObjScanFloatText *center_text;
@@ -72,10 +76,19 @@ 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:
 {
 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;
        int handle_event();
        FindObjMain *plugin;
        FindObjWindow *gui;
@@ -99,11 +112,34 @@ public:
        FindObjWindow *gui;
 };
 
        FindObjWindow *gui;
 };
 
-class FindObjDrawObjectBorder : public BC_CheckBox
+class FindObjDragScene : public DragCheckBox
 {
 public:
 {
 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();
        int handle_event();
+       Track *get_drag_track();
+       int64_t get_drag_position();
+       void update_gui();
+
        FindObjMain *plugin;
        FindObjWindow *gui;
 };
        FindObjMain *plugin;
        FindObjWindow *gui;
 };
@@ -145,6 +181,7 @@ public:
        FindObjWindow(FindObjMain *plugin);
        ~FindObjWindow();
        void create_objects();
        FindObjWindow(FindObjMain *plugin);
        ~FindObjWindow();
        void create_objects();
+       void update_drag();
 
        FindObjAlgorithm *algorithm;
        FindObjUseFlann *use_flann;
 
        FindObjAlgorithm *algorithm;
        FindObjUseFlann *use_flann;
@@ -153,9 +190,11 @@ public:
        FindObjScanFloat *scene_x, *scene_y, *scene_w, *scene_h;
        FindObjScanFloatText *scene_x_text, *scene_y_text, *scene_w_text, *scene_h_text;
        FindObjDrawKeypoints *draw_keypoints;
        FindObjScanFloat *scene_x, *scene_y, *scene_w, *scene_h;
        FindObjScanFloatText *scene_x_text, *scene_y_text, *scene_w_text, *scene_h_text;
        FindObjDrawKeypoints *draw_keypoints;
-       FindObjDrawBorder *draw_border;
+       FindObjDrawSceneBorder *draw_scene_border;
        FindObjReplace *replace_object;
        FindObjDrawObjectBorder *draw_object_border;
        FindObjReplace *replace_object;
        FindObjDrawObjectBorder *draw_object_border;
+       FindObjDragObject *drag_object;
+       FindObjDragScene *drag_scene;
        FindObjLayer *object_layer;
        FindObjLayer *scene_layer;
        FindObjLayer *replace_layer;
        FindObjLayer *object_layer;
        FindObjLayer *scene_layer;
        FindObjLayer *replace_layer;