4 // the simplest plugin possible
17 #include "overlayframe.h"
18 #include "pluginvclient.h"
25 void copy_from(ScaleConfig
&src
);
26 int equivalent(ScaleConfig
&src
);
27 void interpolate(ScaleConfig
&prev
,
31 int64_t current_frame
);
38 class ScaleWidth
: public BC_TumbleTextBox
41 ScaleWidth(ScaleWin
*win
, ScaleMain
*client
, int x
, int y
);
49 class ScaleHeight
: public BC_TumbleTextBox
52 ScaleHeight(ScaleWin
*win
, ScaleMain
*client
, int x
, int y
);
60 class ScaleConstrain
: public BC_CheckBox
63 ScaleConstrain(ScaleMain
*client
, int x
, int y
);
70 class ScaleWin
: public BC_Window
73 ScaleWin(ScaleMain
*client
, int x
, int y
);
82 ScaleConstrain
*constrain
;
85 PLUGIN_THREAD_HEADER(ScaleMain
, ScaleThread
, ScaleWin
)
87 class ScaleMain
: public PluginVClient
90 ScaleMain(PluginServer
*server
);
93 // required for all realtime plugins
94 int process_realtime(VFrame
*input_ptr
, VFrame
*output_ptr
);
101 void save_data(KeyFrame
*keyframe
);
102 void read_data(KeyFrame
*keyframe
);
106 int load_configuration();
108 // a thread for the GUI
111 OverlayFrame
*overlayer
; // To scale images
112 VFrame
*temp_frame
; // Used if buffers are the same