-
-// Overlay text mask with fractional translation
-// We don't use OverlayFrame to enable alpha blending on non alpha
-// output.
-class TitleTranslatePackage : public LoadPackage
-{
-public:
- TitleTranslatePackage();
- int y1, y2;
-};
-
-typedef struct {
- int in_x1;
- float in_fraction1;
- int in_x2; // Might be same as in_x1 for boundary
- float in_fraction2;
- float output_fraction;
-} transfer_table_f;
-
-class TitleTranslateUnit : public LoadClient
-{
-public:
- TitleTranslateUnit(TitleMain *plugin, TitleTranslate *server);
-
- static void translation_array_f(transfer_table_f* &table,
- float out_x1, float out_x2, int out_total,
- float in_x1, float in_x2, int in_total,
- int &x1_out, int &x2_out);
- void process_package(LoadPackage *package);
- TitleMain *plugin;
-};
-
-class TitleTranslate : public LoadServer
-{
-public:
- TitleTranslate(TitleMain *plugin, int cpus);
- ~TitleTranslate();
- void init_packages();
- void run_packages();
- LoadClient* new_client();
- LoadPackage* new_package();
- TitleMain *plugin;
- transfer_table_f *y_table;
- transfer_table_f *x_table;
- VFrame *xlat_mask;
- int out_x1, out_x2;
- int out_y1, out_y2;
-};
-