3 * Copyright (C) 1997-2011 Adam Williams <broadcast at earthling dot net>
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.
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.
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
21 #ifndef INTERPOLATEWINDOW_H
22 #define INTERPOLATEWINDOW_H
25 #include "interpolatevideo.inc"
26 #include "interpolatewindow.inc"
27 #include "pluginvclient.h"
31 class InterpolateVideoRate : public BC_TextBox
34 InterpolateVideoRate(InterpolateVideo *plugin,
35 InterpolateVideoWindow *gui,
39 InterpolateVideo *plugin;
40 InterpolateVideoWindow *gui;
43 class InterpolateVideoRateMenu : public BC_ListBox
46 InterpolateVideoRateMenu(InterpolateVideo *plugin,
47 InterpolateVideoWindow *gui,
51 InterpolateVideo *plugin;
52 InterpolateVideoWindow *gui;
55 class InterpolateVideoFlow : public BC_CheckBox
58 InterpolateVideoFlow(InterpolateVideo *plugin,
59 InterpolateVideoWindow *gui,
63 InterpolateVideoWindow *gui;
64 InterpolateVideo *plugin;
67 class InterpolateVideoVectors : public BC_CheckBox
70 InterpolateVideoVectors(InterpolateVideo *plugin,
71 InterpolateVideoWindow *gui,
75 InterpolateVideoWindow *gui;
76 InterpolateVideo *plugin;
79 class InterpolateVideoRadius : public BC_IPot
82 InterpolateVideoRadius(InterpolateVideo *plugin,
83 InterpolateVideoWindow *gui,
87 InterpolateVideoWindow *gui;
88 InterpolateVideo *plugin;
91 class InterpolateVideoSize : public BC_IPot
94 InterpolateVideoSize(InterpolateVideo *plugin,
95 InterpolateVideoWindow *gui,
99 InterpolateVideoWindow *gui;
100 InterpolateVideo *plugin;
103 class InterpolateVideoKeyframes : public BC_CheckBox
106 InterpolateVideoKeyframes(InterpolateVideo *plugin,
107 InterpolateVideoWindow *gui,
111 InterpolateVideoWindow *gui;
112 InterpolateVideo *plugin;
115 class InterpolateVideoWindow : public PluginClientWindow
118 InterpolateVideoWindow(InterpolateVideo *plugin);
119 ~InterpolateVideoWindow();
121 void create_objects();
122 void update_enabled();
124 ArrayList<BC_ListBoxItem*> frame_rates;
125 InterpolateVideo *plugin;
127 InterpolateVideoRate *rate;
128 InterpolateVideoRateMenu *rate_menu;
129 InterpolateVideoKeyframes *keyframes;
130 InterpolateVideoFlow *flow;
131 InterpolateVideoVectors *vectors;
132 BC_Title *radius_title;
133 InterpolateVideoRadius *radius;
134 BC_Title *size_title;
135 InterpolateVideoSize *size;