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
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
/*
|
||||
* Copyright 2008, Haiku, Inc. All Rights Reserved.
|
||||
* Copyright 2008-2010, Haiku, Inc. All Rights Reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors:
|
||||
* Stephen Deken, stephen.deken@gmail.com
|
||||
*/
|
||||
#ifndef _AFFINETRANSFORM_H
|
||||
#define _AFFINETRANSFORM_H
|
||||
#ifndef _AFFINE_TRANSFORM_H
|
||||
#define _AFFINE_TRANSFORM_H
|
||||
|
||||
#include <InterfaceDefs.h>
|
||||
|
||||
@@ -19,9 +19,12 @@ namespace BPrivate {
|
||||
class BAffineTransform {
|
||||
public:
|
||||
BAffineTransform();
|
||||
BAffineTransform(const BAffineTransform& copyFrom);
|
||||
BAffineTransform(
|
||||
const BAffineTransform& copyFrom);
|
||||
virtual ~BAffineTransform();
|
||||
virtual BAffineTransform& operator=(const BAffineTransform& copyFrom);
|
||||
|
||||
virtual BAffineTransform& operator=(
|
||||
const BAffineTransform& copyFrom);
|
||||
|
||||
virtual bool operator==(
|
||||
const BAffineTransform& other) const;
|
||||
@@ -33,58 +36,79 @@ public:
|
||||
|
||||
// Application
|
||||
BPoint Apply(const BPoint& point) const;
|
||||
void Apply(BPoint* point) const;
|
||||
void Apply(BPoint* points, uint32 count) const;
|
||||
|
||||
// Rotation
|
||||
void Rotate(float angle);
|
||||
void Rotate(const BPoint& center, float angle);
|
||||
BAffineTransform& RotateBySelf(float angle);
|
||||
BAffineTransform& RotateBySelf(const BPoint& center, float angle);
|
||||
BAffineTransform& RotateBySelf(const BPoint& center,
|
||||
float angle);
|
||||
BAffineTransform RotateByCopy(float angle) const;
|
||||
BAffineTransform RotateByCopy(const BPoint& center, float angle) const;
|
||||
BAffineTransform RotateByCopy(const BPoint& center,
|
||||
float angle) const;
|
||||
|
||||
// Translation
|
||||
void Translate(float deltaX, float deltaY);
|
||||
void Translate(const BPoint& delta);
|
||||
BAffineTransform& TranslateBySelf(float deltaX, float deltaY);
|
||||
BAffineTransform& TranslateBySelf(float deltaX,
|
||||
float deltaY);
|
||||
BAffineTransform& TranslateBySelf(const BPoint& delta);
|
||||
BAffineTransform TranslateByCopy(float deltaX, float deltaY) const;
|
||||
BAffineTransform TranslateByCopy(float deltaX,
|
||||
float deltaY) const;
|
||||
BAffineTransform TranslateByCopy(const BPoint& delta) const;
|
||||
|
||||
// Scaling
|
||||
void Scale(float scale);
|
||||
void Scale(const BPoint& center, float scale);
|
||||
void Scale(float scaleX, float scaleY);
|
||||
void Scale(const BPoint& center, float scaleX, float scaleY);
|
||||
void Scale(const BPoint& center, float scaleX,
|
||||
float scaleY);
|
||||
void Scale(const BPoint& scale);
|
||||
void Scale(const BPoint& center, const BPoint& scale);
|
||||
void Scale(const BPoint& center,
|
||||
const BPoint& scale);
|
||||
BAffineTransform& ScaleBySelf(float scale);
|
||||
BAffineTransform& ScaleBySelf(const BPoint& center, float scale);
|
||||
BAffineTransform& ScaleBySelf(const BPoint& center,
|
||||
float scale);
|
||||
BAffineTransform& ScaleBySelf(float scaleX, float scaleY);
|
||||
BAffineTransform& ScaleBySelf(const BPoint& center, float scaleX, float scaleY);
|
||||
BAffineTransform& ScaleBySelf(const BPoint& center,
|
||||
float scaleX, float scaleY);
|
||||
BAffineTransform& ScaleBySelf(const BPoint& scale);
|
||||
BAffineTransform& ScaleBySelf(const BPoint& center, const BPoint& scale);
|
||||
BAffineTransform& ScaleBySelf(const BPoint& center,
|
||||
const BPoint& scale);
|
||||
BAffineTransform ScaleByCopy(float scale) const;
|
||||
BAffineTransform ScaleByCopy(const BPoint& center, float scale) const;
|
||||
BAffineTransform ScaleByCopy(float scaleX, float scaleY) const;
|
||||
BAffineTransform ScaleByCopy(const BPoint& center, float scaleX, float scaleY) const;
|
||||
BAffineTransform ScaleByCopy(const BPoint& center,
|
||||
float scale) const;
|
||||
BAffineTransform ScaleByCopy(float scaleX,
|
||||
float scaleY) const;
|
||||
BAffineTransform ScaleByCopy(const BPoint& center,
|
||||
float scaleX, float scaleY) const;
|
||||
BAffineTransform ScaleByCopy(const BPoint& scale) const;
|
||||
BAffineTransform ScaleByCopy(const BPoint& center, const BPoint& scale) const;
|
||||
BAffineTransform ScaleByCopy(const BPoint& center,
|
||||
const BPoint& scale) const;
|
||||
|
||||
// Shearing
|
||||
void Shear(float shearX, float shearY);
|
||||
void Shear(const BPoint& center, float shearX, float shearY);
|
||||
void Shear(const BPoint& center, float shearX,
|
||||
float shearY);
|
||||
void Shear(const BPoint& shear);
|
||||
void Shear(const BPoint& center, const BPoint& shear);
|
||||
void Shear(const BPoint& center,
|
||||
const BPoint& shear);
|
||||
|
||||
BAffineTransform& ShearBySelf(float shearX, float shearY);
|
||||
BAffineTransform& ShearBySelf(const BPoint& center, float shearX, float shearY);
|
||||
BAffineTransform& ShearBySelf(const BPoint& center,
|
||||
float shearX, float shearY);
|
||||
BAffineTransform& ShearBySelf(const BPoint& shear);
|
||||
BAffineTransform& ShearBySelf(const BPoint& center, const BPoint& shear);
|
||||
BAffineTransform ShearByCopy(float shearX, float shearY) const;
|
||||
BAffineTransform ShearByCopy(const BPoint& center, float shearX, float shearY) const;
|
||||
BAffineTransform& ShearBySelf(const BPoint& center,
|
||||
const BPoint& shear);
|
||||
BAffineTransform ShearByCopy(float shearX,
|
||||
float shearY) const;
|
||||
BAffineTransform ShearByCopy(const BPoint& center,
|
||||
float shearX, float shearY) const;
|
||||
BAffineTransform ShearByCopy(const BPoint& shear) const;
|
||||
BAffineTransform ShearByCopy(const BPoint& center, const BPoint& shear) const;
|
||||
BAffineTransform ShearByCopy(const BPoint& center,
|
||||
const BPoint& shear) const;
|
||||
|
||||
private:
|
||||
void _Rotate(float angle);
|
||||
@@ -94,6 +118,7 @@ private:
|
||||
|
||||
void _TransformPoint(BPoint& point) const;
|
||||
|
||||
private:
|
||||
agg::trans_affine fTransformMatrix;
|
||||
};
|
||||
|
||||
@@ -101,4 +126,4 @@ private:
|
||||
|
||||
using namespace BPrivate;
|
||||
|
||||
#endif // _AFFINETRANSFORM_H
|
||||
#endif // _AFFINE_TRANSFORM_H
|
||||
Reference in New Issue
Block a user