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_buffer(VFrame
*frame
,
95 int64_t start_position
,
97 void calculate_transfer(VFrame
*frame
,
108 char* plugin_title();
113 void save_data(KeyFrame
*keyframe
);
114 void read_data(KeyFrame
*keyframe
);
118 int load_configuration();
120 // a thread for the GUI
123 OverlayFrame
*overlayer
; // To scale images