OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #ifndef CSSMatrixTransformComponent_h | 5 #ifndef CSSMatrixTransformComponent_h |
6 #define CSSMatrixTransformComponent_h | 6 #define CSSMatrixTransformComponent_h |
7 | 7 |
8 #include "core/css/cssom/CSSTransformComponent.h" | 8 #include "core/css/cssom/CSSTransformComponent.h" |
9 #include "platform/transforms/TransformationMatrix.h" | 9 #include "platform/transforms/TransformationMatrix.h" |
10 #include <memory> | 10 #include <memory> |
11 | 11 |
12 namespace blink { | 12 namespace blink { |
| 13 namespace cssom { |
13 | 14 |
14 class CORE_EXPORT CSSMatrixTransformComponent final : public CSSTransformCompone
nt { | 15 class CORE_EXPORT CSSMatrixTransformComponent final : public CSSTransformCompone
nt { |
15 WTF_MAKE_NONCOPYABLE(CSSMatrixTransformComponent); | 16 WTF_MAKE_NONCOPYABLE(CSSMatrixTransformComponent); |
16 DEFINE_WRAPPERTYPEINFO(); | 17 DEFINE_WRAPPERTYPEINFO(); |
17 public: | 18 public: |
18 static CSSMatrixTransformComponent* create(double a, double b, double c, dou
ble d, double e, double f) | 19 static CSSMatrixTransformComponent* create(double a, double b, double c, dou
ble d, double e, double f) |
19 { | 20 { |
20 return new CSSMatrixTransformComponent(a, b, c, d, e, f); | 21 return new CSSMatrixTransformComponent(a, b, c, d, e, f); |
21 } | 22 } |
22 | 23 |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 { } | 100 { } |
100 | 101 |
101 // TransformationMatrix needs to be 16-byte aligned. PartitionAlloc | 102 // TransformationMatrix needs to be 16-byte aligned. PartitionAlloc |
102 // supports 16-byte alignment but Oilpan doesn't. So we use an std::unique_p
tr | 103 // supports 16-byte alignment but Oilpan doesn't. So we use an std::unique_p
tr |
103 // to allocate TransformationMatrix on PartitionAlloc. | 104 // to allocate TransformationMatrix on PartitionAlloc. |
104 // TODO(oilpan): Oilpan should support 16-byte aligned allocations. | 105 // TODO(oilpan): Oilpan should support 16-byte aligned allocations. |
105 std::unique_ptr<const TransformationMatrix> m_matrix; | 106 std::unique_ptr<const TransformationMatrix> m_matrix; |
106 bool m_is2D; | 107 bool m_is2D; |
107 }; | 108 }; |
108 | 109 |
| 110 } // namespace cssom |
109 } // namespace blink | 111 } // namespace blink |
110 | 112 |
| 113 |
111 #endif | 114 #endif |
OLD | NEW |