History log of /haiku/src/kits/interface/AffineTransform.cpp
Revision Date Author Comments
# ad33fd78 08-May-2018 Adrien Destugues <pulkomandy@pulkomandy.tk>

BAffineTransform: de-virtualize some calls in flattening code

The Flatten and Unflatten method should check the size according to the
matching FlattenedSize method, not a possibly overriden version.

May also fix #14128 since we avoid use of the vtable by doing this.


# 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


# 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


# 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