X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.0%2Fcinelerra%2Faffine.h;fp=cinelerra-5.0%2Fcinelerra%2Faffine.h;h=ee3120638546b253eafffc651089d1af9c7024ae;hb=e919ce8a71cdc99bb7344cc192e13a2c2db9e1c0;hp=2eaf4856f87778a35120bb23f614695734826ae3;hpb=6c0c8bd0e577001d1cc18c6c27d58e62f58a6bff;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.0/cinelerra/affine.h b/cinelerra-5.0/cinelerra/affine.h index 2eaf4856..ee312063 100644 --- a/cinelerra-5.0/cinelerra/affine.h +++ b/cinelerra-5.0/cinelerra/affine.h @@ -1,7 +1,7 @@ /* * CINELERRA - * Copyright (C) 2008 Adam Williams + * Copyright (C) 2008-2014 Adam Williams * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -108,6 +108,7 @@ public: 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); @@ -126,6 +127,8 @@ public: void init_packages(); LoadClient* new_client(); LoadPackage* new_package(); + + VFrame *input, *output, *temp; int mode; enum @@ -133,9 +136,13 @@ public: PERSPECTIVE, SHEER, STRETCH, - ROTATE + ROTATE, +// multiply directly by a matrix. + TRANSFORM }; +// arbitrary matrix + AffineMatrix matrix; // Transformation coordinates float x1, y1, x2, y2, x3, y3, x4, y4; // Viewport coordinates