OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) |
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) | 3 * (C) 2000 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2000 Dirk Mueller (mueller@kde.org) | 4 * (C) 2000 Dirk Mueller (mueller@kde.org) |
5 * Copyright (C) 2003, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. | 5 * Copyright (C) 2003, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. |
6 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com) | 6 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com) |
7 * | 7 * |
8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
(...skipping 29 matching lines...) Expand all Loading... |
40 { | 40 { |
41 return adoptRef(new RotateTransformOperation(x, y, z, angle, type)); | 41 return adoptRef(new RotateTransformOperation(x, y, z, angle, type)); |
42 } | 42 } |
43 | 43 |
44 double x() const { return m_x; } | 44 double x() const { return m_x; } |
45 double y() const { return m_y; } | 45 double y() const { return m_y; } |
46 double z() const { return m_z; } | 46 double z() const { return m_z; } |
47 double angle() const { return m_angle; } | 47 double angle() const { return m_angle; } |
48 | 48 |
49 private: | 49 private: |
50 virtual bool isIdentity() const { return m_angle == 0; } | 50 virtual bool isIdentity() const OVERRIDE { return !m_angle; } |
51 | 51 |
52 virtual OperationType type() const OVERRIDE { return m_type; } | 52 virtual OperationType type() const OVERRIDE { return m_type; } |
53 | 53 |
54 virtual bool operator==(const TransformOperation& o) const | 54 virtual bool operator==(const TransformOperation& o) const |
55 { | 55 { |
56 if (!isSameType(o)) | 56 if (!isSameType(o)) |
57 return false; | 57 return false; |
58 const RotateTransformOperation* r = static_cast<const RotateTransformOpe
ration*>(&o); | 58 const RotateTransformOperation* r = static_cast<const RotateTransformOpe
ration*>(&o); |
59 return m_x == r->m_x && m_y == r->m_y && m_z == r->m_z && m_angle == r->
m_angle; | 59 return m_x == r->m_x && m_y == r->m_y && m_z == r->m_z && m_angle == r->
m_angle; |
60 } | 60 } |
61 | 61 |
62 virtual void apply(TransformationMatrix& transform, const FloatSize& /*borde
rBoxSize*/) const | 62 virtual void apply(TransformationMatrix& transform, const FloatSize& /*borde
rBoxSize*/) const OVERRIDE |
63 { | 63 { |
64 transform.rotate3d(m_x, m_y, m_z, m_angle); | 64 transform.rotate3d(m_x, m_y, m_z, m_angle); |
65 } | 65 } |
66 | 66 |
67 virtual PassRefPtr<TransformOperation> blend(const TransformOperation* from,
double progress, bool blendToIdentity = false); | 67 virtual PassRefPtr<TransformOperation> blend(const TransformOperation* from,
double progress, bool blendToIdentity = false) OVERRIDE; |
68 | 68 |
69 RotateTransformOperation(double x, double y, double z, double angle, Operati
onType type) | 69 RotateTransformOperation(double x, double y, double z, double angle, Operati
onType type) |
70 : m_x(x) | 70 : m_x(x) |
71 , m_y(y) | 71 , m_y(y) |
72 , m_z(z) | 72 , m_z(z) |
73 , m_angle(angle) | 73 , m_angle(angle) |
74 , m_type(type) | 74 , m_type(type) |
75 { | 75 { |
76 ASSERT(type == RotateX || type == RotateY || type == RotateZ || type ==
Rotate3D); | 76 ASSERT(type == RotateX || type == RotateY || type == RotateZ || type ==
Rotate3D); |
77 } | 77 } |
78 | 78 |
79 double m_x; | 79 double m_x; |
80 double m_y; | 80 double m_y; |
81 double m_z; | 81 double m_z; |
82 double m_angle; | 82 double m_angle; |
83 OperationType m_type; | 83 OperationType m_type; |
84 }; | 84 }; |
85 | 85 |
86 } // namespace WebCore | 86 } // namespace WebCore |
87 | 87 |
88 #endif // RotateTransformOperation_h | 88 #endif // RotateTransformOperation_h |
OLD | NEW |