| 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 |