rework ffmpeg a/v filter setup, rework ffmpeg hw decode with vid filters, rework...
[goodguy/cinelerra.git] / cinelerra-5.1 / plugins / flowobj / flowobjwindow.h
1 /*
2  * CINELERRA
3  * Copyright (C) 2008-2014 Adam Williams <broadcast at earthling dot net>
4  * 
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  * 
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  * 
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18  * 
19  */
20
21 #ifndef FLOWOBJWINDOW_H
22 #define FLOWOBJWINDOW_H
23
24
25 #include "guicast.h"
26
27 class FlowObj;
28 class FlowObjWindow;
29
30
31 class FlowObjVectors : public BC_CheckBox
32 {
33 public:
34         FlowObjVectors(FlowObjWindow *gui, int x, int y);
35         int handle_event();
36         FlowObjWindow *gui;
37 };
38
39 class FlowObjDoStabilization : public BC_CheckBox
40 {
41 public:
42         FlowObjDoStabilization(FlowObjWindow *gui, int x, int y);
43         int handle_event();
44         FlowObjWindow *gui;
45 };
46
47 class FlowObjBlockSize : public BC_IPot
48 {
49 public:
50         FlowObjBlockSize(FlowObjWindow *gui, int x, int y);
51         int handle_event();
52         FlowObjWindow *gui;
53 };
54
55 class FlowObjSearchRadius : public BC_IPot
56 {
57 public:
58         FlowObjSearchRadius(FlowObjWindow *gui, int x, int y);
59         int handle_event();
60         FlowObjWindow *gui;
61 };
62
63 class FlowObjMaxMovement : public BC_IPot
64 {
65 public:
66         FlowObjMaxMovement(FlowObjWindow *gui, int x, int y);
67         int handle_event();
68         FlowObjWindow *gui;
69 };
70
71 class FlowObjSettling : public BC_IPot
72 {
73 public:
74         FlowObjSettling(FlowObjWindow *gui, int x, int y);
75         int handle_event();
76         FlowObjWindow *gui;
77 };
78
79 class FlowObjWindow : public PluginClientWindow
80 {
81 public:
82         FlowObjWindow(FlowObj *plugin);
83         ~FlowObjWindow();
84
85         void create_objects();
86
87         FlowObj *plugin;
88         FlowObjVectors *vectors;
89         FlowObjDoStabilization *do_stabilization;
90         FlowObjBlockSize *block_size;
91         FlowObjSearchRadius *search_radius;
92 // not implemented
93 //      FlowObjMaxMovement *max_movement;
94         FlowObjSettling *settling_speed;
95 };
96
97 #endif