improved corner pin
This commit is contained in:
@@ -5,19 +5,27 @@ CornerPinEffect::CornerPinEffect(Clip *c, const EffectMeta *em) : Effect(c, em)
|
||||
|
||||
EffectRow* top_left = add_row("Top Left:");
|
||||
top_left_x = top_left->add_field(EFFECT_FIELD_DOUBLE);
|
||||
top_left_x->id = "topleftx";
|
||||
top_left_y = top_left->add_field(EFFECT_FIELD_DOUBLE);
|
||||
top_left_y->id = "toplefty";
|
||||
|
||||
EffectRow* top_right = add_row("Top Right:");
|
||||
top_right_x = top_right->add_field(EFFECT_FIELD_DOUBLE);
|
||||
top_right_x->id = "toprightx";
|
||||
top_right_y = top_right->add_field(EFFECT_FIELD_DOUBLE);
|
||||
top_right_y->id = "toprighty";
|
||||
|
||||
EffectRow* bottom_left = add_row("Bottom Left:");
|
||||
bottom_left_x = bottom_left->add_field(EFFECT_FIELD_DOUBLE);
|
||||
bottom_left_x->id = "bottomleftx";
|
||||
bottom_left_y = bottom_left->add_field(EFFECT_FIELD_DOUBLE);
|
||||
bottom_left_y->id = "bottomlefty";
|
||||
|
||||
EffectRow* bottom_right = add_row("Bottom Right:");
|
||||
bottom_right_x = bottom_right->add_field(EFFECT_FIELD_DOUBLE);
|
||||
bottom_right_x->id = "bottomrightx";
|
||||
bottom_right_y = bottom_right->add_field(EFFECT_FIELD_DOUBLE);
|
||||
bottom_right_y->id = "bottomrighty";
|
||||
|
||||
connect(top_left_x, SIGNAL(changed()), this, SLOT(field_changed()));
|
||||
connect(top_left_y, SIGNAL(changed()), this, SLOT(field_changed()));
|
||||
@@ -30,6 +38,8 @@ CornerPinEffect::CornerPinEffect(Clip *c, const EffectMeta *em) : Effect(c, em)
|
||||
}
|
||||
|
||||
void CornerPinEffect::process_coords(double timecode, GLTextureCoords &coords) {
|
||||
coords.grid_size += 4;
|
||||
|
||||
coords.vertexTopLeftX += top_left_x->get_double_value(timecode);
|
||||
coords.vertexTopLeftY += top_left_y->get_double_value(timecode);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user