OLD | NEW |
1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 | 5 |
6 #ifndef CC_RESOURCES_LAYER_QUAD_H_ | 6 #ifndef CC_RESOURCES_LAYER_QUAD_H_ |
7 #define CC_RESOURCES_LAYER_QUAD_H_ | 7 #define CC_RESOURCES_LAYER_QUAD_H_ |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "cc/base/cc_export.h" | 10 #include "cc/base/cc_export.h" |
11 #include "ui/gfx/geometry/point_f.h" | 11 #include "ui/gfx/geometry/point_f.h" |
12 | 12 |
13 namespace gfx { | 13 namespace gfx { |
14 class QuadF; | 14 class QuadF; |
15 } | 15 } |
16 | 16 |
17 static const float kAntiAliasingInflateDistance = 0.5f; | 17 static const float kAntiAliasingInflateDistance = 0.5f; |
18 | 18 |
19 namespace cc { | 19 namespace cc { |
20 | 20 |
21 class CC_EXPORT LayerQuad { | 21 class CC_EXPORT LayerQuad { |
22 public: | 22 public: |
23 class Edge { | 23 class CC_EXPORT Edge { |
24 public: | 24 public: |
25 Edge() : x_(0), y_(0), z_(0), degenerate_(false) {} | 25 Edge() : x_(0), y_(0), z_(0), degenerate_(false) {} |
26 Edge(const gfx::PointF& p, const gfx::PointF& q); | 26 Edge(const gfx::PointF& p, const gfx::PointF& q); |
27 | 27 |
28 float x() const { return x_; } | 28 float x() const { return x_; } |
29 float y() const { return y_; } | 29 float y() const { return y_; } |
30 float z() const { return z_; } | 30 float z() const { return z_; } |
31 | 31 |
32 void set_x(float x) { x_ = x; } | 32 void set_x(float x) { x_ = x; } |
33 void set_y(float y) { y_ = y; } | 33 void set_y(float y) { y_ = y; } |
(...skipping 18 matching lines...) Expand all Loading... |
52 void scale_z(float sz) { z_ *= sz; } | 52 void scale_z(float sz) { z_ *= sz; } |
53 void scale(float sx, float sy, float sz) { | 53 void scale(float sx, float sy, float sz) { |
54 x_ *= sx; | 54 x_ *= sx; |
55 y_ *= sy; | 55 y_ *= sy; |
56 z_ *= sz; | 56 z_ *= sz; |
57 } | 57 } |
58 void scale(float s) { scale(s, s, s); } | 58 void scale(float s) { scale(s, s, s); } |
59 | 59 |
60 bool degenerate() const { return degenerate_; } | 60 bool degenerate() const { return degenerate_; } |
61 | 61 |
62 gfx::PointF Intersect(const Edge& e) const { | 62 gfx::PointF Intersect(const Edge& e) const; |
63 return gfx::PointF( | |
64 (y() * e.z() - e.y() * z()) / (x() * e.y() - e.x() * y()), | |
65 (x() * e.z() - e.x() * z()) / (e.x() * y() - x() * e.y())); | |
66 } | |
67 | 63 |
68 private: | 64 private: |
69 float x_; | 65 float x_; |
70 float y_; | 66 float y_; |
71 float z_; | 67 float z_; |
72 bool degenerate_; | 68 bool degenerate_; |
73 }; | 69 }; |
74 | 70 |
75 LayerQuad(const Edge& left, | 71 LayerQuad(const Edge& left, |
76 const Edge& top, | 72 const Edge& top, |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 Edge top_; | 104 Edge top_; |
109 Edge right_; | 105 Edge right_; |
110 Edge bottom_; | 106 Edge bottom_; |
111 | 107 |
112 DISALLOW_COPY_AND_ASSIGN(LayerQuad); | 108 DISALLOW_COPY_AND_ASSIGN(LayerQuad); |
113 }; | 109 }; |
114 | 110 |
115 } // namespace cc | 111 } // namespace cc |
116 | 112 |
117 #endif // CC_RESOURCES_LAYER_QUAD_H_ | 113 #endif // CC_RESOURCES_LAYER_QUAD_H_ |
OLD | NEW |