X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Faffine.h;h=1740d90545e1e3923fd2931fba8c3ad20ab7d065;hb=5ac2037d8e5ab71a1915389cd08b458cfb60d64f;hp=339c8cbb5c1b931e304a0be656df2b20b9e26bc6;hpb=680d2000be2db33da1e2733461854158067f5862;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/affine.h b/cinelerra-5.1/cinelerra/affine.h index 339c8cbb..1740d905 100644 --- a/cinelerra-5.1/cinelerra/affine.h +++ b/cinelerra-5.1/cinelerra/affine.h @@ -42,6 +42,11 @@ public: void multiply(AffineMatrix *dst); void copy_from(AffineMatrix *src); void invert(AffineMatrix *dst); +// in x1,y1 x2,y1 out x1,y1 x2,y2 +// x1,y2 x2,y2 x3,y3 x4,y4 + void set_matrix(double in_x1, double in_y1, double in_x2, double in_y2, + double out_x1, double out_y1, double out_x2, double out_y2, + double out_x3, double out_y3, double out_x4, double out_y4); void transform_point(float x, float y, float *newx, float *newy); double determinant(); void dump(); @@ -60,20 +65,6 @@ class AffineUnit : public LoadClient public: AffineUnit(AffineEngine *server); void process_package(LoadPackage *package); - void calculate_matrix( - double in_x1, - double in_y1, - double in_x2, - double in_y2, - double out_x1, - double out_y1, - double out_x2, - double out_y2, - double out_x3, - double out_y3, - double out_x4, - double out_y4, - AffineMatrix *result); // float transform_cubic(float dx, float jm1, float j, float jp1, float jp2); AffineEngine *server; }; @@ -90,10 +81,13 @@ public: float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4, int forward); + void set_matrix( + double in_x1, double in_y1, double in_x2, double in_y2, + double out_x1, double out_y1, double out_x2, double out_y2, + double out_x3, double out_y3, double out_x4, double out_y4); // Do rotation with the affine/perspective transform. // This removes some of the extremely faint artifacts in the trig rotation. void rotate(VFrame *output, VFrame *input, float angle); - void set_matrix(AffineMatrix *matrix); // Set the viewport to transform. The transform is based on the input viewport. // The output viewport clips the transformed output. void set_in_viewport(int x, int y, int w, int h);