#
86dfe1d9 |
|
21-Feb-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
BAffineTransform: Remove "register" storage class. Long since deprecated, and compilers can figure this out on their own now. Fixes a lot of errors in Clang.
|
#
4721524c |
|
10-Nov-2015 |
Julian Harnath <julian.harnath@rwth-aachen.de> |
BAffineTransform: add PreTranslate/PreScale/PreRotate * The existing methods TranslateBy(), ScaleBy() and RotateBy() transform the transformation. For a transform A, a point p, and the temporary transform B (being applied by the methods), this results in p' = B*(A*p) = (B*A)*p This is not necessarily the desired result. Suppose A is a translation and B a rotation, added by RotateBy(). Then B*A means that the translation itself is rotated, so B moves the coordinate origin itself, by rotating it around the original origin of the coordinate system (top left view corner). If we want to translate and then rotate around that *new* origin, we need to multiply the transforms the other way around: A*B. Three new methods PreTranslateBy(), PreScaleBy() and PreRotateBy() implement this. They are later used as a base to add translatation/ scaling/rotation methods to BView which behave in the expected ordering, similar to other graphic APIs.
|
#
08135223 |
|
09-Nov-2015 |
Julian Harnath <julian.harnath@rwth-aachen.de> |
Affine transforms: add method to test for dilation * Add IsDilation() to BAffineTransform and Transformable which check whether the transform is a dilation, i.e. consists of only translation and/or scaling
|
#
b8c44b4c |
|
07-Feb-2014 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
BAffineTransform: C++11 compatibility fix inline const floats are a gcc extension. It is possible to do it in a standard way in C++11 using constexpr, but then gcc will reject the previously accepted nonstandard syntax.
|
#
d7fcb36f |
|
21-Apr-2010 |
Stephan Aßmus <superstippi@gmx.de> |
* Allow to set the scale (versus multiplication with a scale). * Added commented versions for translation, rotation and shear, which would work similar. * Added B_AFFINE_IDENTITY_TRANSFORM constant similar to B_ORIGIN. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36401 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2789b391 |
|
26-Mar-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Rewrote BAffineTransform to not be based on agg::trans_affine, which was pulling in the AGG header. Reused the AGG code were applicable and implemented a lot more features. The Multiply and PreMultiply meaning is reversed with respect to AGG, but follows the mathematical meaning. Added type_code B_AFFINE_TRANSFORM_TYPE to TypeConstants.h and let BAffineTransform derive from BFlattenable. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35958 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
abb02bc4 |
|
26-Mar-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Moved BAffineTransform from shared kit into interface kit. Still in BPrivate namespace. Applied 80 char/line limit. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35955 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b8c44b4c3f6a353b8f870cd1e8eb2b1b6f997780 |
|
07-Feb-2014 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
BAffineTransform: C++11 compatibility fix inline const floats are a gcc extension. It is possible to do it in a standard way in C++11 using constexpr, but then gcc will reject the previously accepted nonstandard syntax.
|
#
d7fcb36f2b947d5ae487e7191c0a3021bbbbdc23 |
|
21-Apr-2010 |
Stephan Aßmus <superstippi@gmx.de> |
* Allow to set the scale (versus multiplication with a scale). * Added commented versions for translation, rotation and shear, which would work similar. * Added B_AFFINE_IDENTITY_TRANSFORM constant similar to B_ORIGIN. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36401 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2789b3911a0cd0dd188fd7abd4144a5f5d86e9a6 |
|
26-Mar-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Rewrote BAffineTransform to not be based on agg::trans_affine, which was pulling in the AGG header. Reused the AGG code were applicable and implemented a lot more features. The Multiply and PreMultiply meaning is reversed with respect to AGG, but follows the mathematical meaning. Added type_code B_AFFINE_TRANSFORM_TYPE to TypeConstants.h and let BAffineTransform derive from BFlattenable. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35958 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
abb02bc4a40395682a9dd4ad13361653412d82f7 |
|
26-Mar-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Moved BAffineTransform from shared kit into interface kit. Still in BPrivate namespace. Applied 80 char/line limit. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35955 a95241bf-73f2-0310-859d-f6bbb57e9c96
|