OLD | NEW |
(Empty) | |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #ifndef DOMQuad_h |
| 6 #define DOMQuad_h |
| 7 |
| 8 #include "bindings/core/v8/ScriptWrappable.h" |
| 9 #include "core/dom/DOMPoint.h" |
| 10 #include "core/dom/DOMRect.h" |
| 11 #include "platform/heap/Handle.h" |
| 12 |
| 13 namespace blink { |
| 14 |
| 15 class DOMRectInit; |
| 16 class DOMQuad; |
| 17 |
| 18 class DOMQuadPoint final : public DOMPoint { |
| 19 public: |
| 20 static DOMQuadPoint* create(const DOMPointInit&, Member<DOMQuad>); |
| 21 static DOMQuadPoint* create(double x, double y, Member<DOMQuad>); |
| 22 |
| 23 virtual void setX(double) override; |
| 24 virtual void setY(double) override; |
| 25 |
| 26 DEFINE_INLINE_VIRTUAL_TRACE() { visitor->trace(m_quad); DOMPoint::trace(visi
tor); } |
| 27 |
| 28 private: |
| 29 DOMQuadPoint(double x, double y, Member<DOMQuad>); |
| 30 |
| 31 Member<DOMQuad> m_quad; |
| 32 }; |
| 33 |
| 34 class DOMQuad final : public GarbageCollected<DOMQuad>, public ScriptWrappable { |
| 35 DEFINE_WRAPPERTYPEINFO(); |
| 36 public: |
| 37 static DOMQuad* create(const DOMRectInit&); |
| 38 static DOMQuad* create(const DOMPointInit&, const DOMPointInit&, |
| 39 const DOMPointInit&, const DOMPointInit&); |
| 40 |
| 41 DOMPoint* p1() const { return m_p1.get(); } |
| 42 DOMPoint* p2() const { return m_p2.get(); } |
| 43 DOMPoint* p3() const { return m_p3.get(); } |
| 44 DOMPoint* p4() const { return m_p4.get(); } |
| 45 DOMRectReadOnly* bounds(); |
| 46 |
| 47 void updateHorizontalBounds(); |
| 48 void updateVerticalBounds(); |
| 49 |
| 50 DEFINE_INLINE_TRACE() |
| 51 { |
| 52 visitor->trace(m_p1); |
| 53 visitor->trace(m_p2); |
| 54 visitor->trace(m_p3); |
| 55 visitor->trace(m_p4); |
| 56 visitor->trace(m_bounds); |
| 57 } |
| 58 |
| 59 protected: |
| 60 DOMQuad(const DOMRectInit&); |
| 61 DOMQuad(const DOMPointInit&, const DOMPointInit&, |
| 62 const DOMPointInit&, const DOMPointInit&); |
| 63 |
| 64 Member<DOMPoint> m_p1; |
| 65 Member<DOMPoint> m_p2; |
| 66 Member<DOMPoint> m_p3; |
| 67 Member<DOMPoint> m_p4; |
| 68 Member<DOMRect> m_bounds; |
| 69 }; |
| 70 |
| 71 } // namespace blink |
| 72 |
| 73 #endif |
OLD | NEW |