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 OffscreenCanvasRenderingContext2D_h | 5 #ifndef OffscreenCanvasRenderingContext2D_h |
6 #define OffscreenCanvasRenderingContext2D_h | 6 #define OffscreenCanvasRenderingContext2D_h |
7 | 7 |
8 #include "core/html/canvas/CanvasContextCreationAttributes.h" | 8 #include "core/html/canvas/CanvasContextCreationAttributes.h" |
9 #include "core/html/canvas/CanvasRenderingContext.h" | 9 #include "core/html/canvas/CanvasRenderingContext.h" |
10 #include "core/html/canvas/CanvasRenderingContextFactory.h" | 10 #include "core/html/canvas/CanvasRenderingContextFactory.h" |
(...skipping 19 matching lines...) Expand all Loading... |
30 OffscreenCanvas* canvas, | 30 OffscreenCanvas* canvas, |
31 const CanvasContextCreationAttributes& attrs) override { | 31 const CanvasContextCreationAttributes& attrs) override { |
32 return new OffscreenCanvasRenderingContext2D(scriptState, canvas, attrs); | 32 return new OffscreenCanvasRenderingContext2D(scriptState, canvas, attrs); |
33 } | 33 } |
34 | 34 |
35 CanvasRenderingContext::ContextType getContextType() const override { | 35 CanvasRenderingContext::ContextType getContextType() const override { |
36 return CanvasRenderingContext::Context2d; | 36 return CanvasRenderingContext::Context2d; |
37 } | 37 } |
38 }; | 38 }; |
39 | 39 |
40 void commit(ExceptionState&); | 40 void commit(ScriptState*, ExceptionState&); |
41 | 41 |
42 // CanvasRenderingContext implementation | 42 // CanvasRenderingContext implementation |
43 ~OffscreenCanvasRenderingContext2D() override; | 43 ~OffscreenCanvasRenderingContext2D() override; |
44 ContextType getContextType() const override { return Context2d; } | 44 ContextType getContextType() const override { return Context2d; } |
45 bool is2d() const override { return true; } | 45 bool is2d() const override { return true; } |
46 void setOffscreenCanvasGetContextResult(OffscreenRenderingContext&) final; | 46 void setOffscreenCanvasGetContextResult(OffscreenRenderingContext&) final; |
47 void setIsHidden(bool) final { ASSERT_NOT_REACHED(); } | 47 void setIsHidden(bool) final { ASSERT_NOT_REACHED(); } |
48 void stop() final { ASSERT_NOT_REACHED(); } | 48 void stop() final { ASSERT_NOT_REACHED(); } |
49 void setCanvasGetContextResult(RenderingContext&) final {} | 49 void setCanvasGetContextResult(RenderingContext&) final {} |
50 void clearRect(double x, double y, double width, double height) override { | 50 void clearRect(double x, double y, double width, double height) override { |
(...skipping 24 matching lines...) Expand all Loading... |
75 | 75 |
76 bool stateHasFilter() final; | 76 bool stateHasFilter() final; |
77 SkImageFilter* stateGetFilter() final; | 77 SkImageFilter* stateGetFilter() final; |
78 void snapshotStateForFilter() final {} | 78 void snapshotStateForFilter() final {} |
79 | 79 |
80 void validateStateStack() const final; | 80 void validateStateStack() const final; |
81 | 81 |
82 bool hasAlpha() const final { return creationAttributes().alpha(); } | 82 bool hasAlpha() const final { return creationAttributes().alpha(); } |
83 bool isContextLost() const override; | 83 bool isContextLost() const override; |
84 | 84 |
85 ImageBitmap* transferToImageBitmap() final; | 85 ImageBitmap* transferToImageBitmap(ScriptState*) final; |
86 | 86 |
87 protected: | 87 protected: |
88 OffscreenCanvasRenderingContext2D( | 88 OffscreenCanvasRenderingContext2D( |
89 ScriptState*, | 89 ScriptState*, |
90 OffscreenCanvas*, | 90 OffscreenCanvas*, |
91 const CanvasContextCreationAttributes& attrs); | 91 const CanvasContextCreationAttributes& attrs); |
92 DECLARE_VIRTUAL_TRACE(); | 92 DECLARE_VIRTUAL_TRACE(); |
93 | 93 |
94 private: | 94 private: |
95 bool m_needsMatrixClipRestore = false; | 95 bool m_needsMatrixClipRestore = false; |
96 std::unique_ptr<ImageBuffer> m_imageBuffer; | 96 std::unique_ptr<ImageBuffer> m_imageBuffer; |
97 | 97 |
98 bool isPaintable() const final; | 98 bool isPaintable() const final; |
99 | 99 |
100 RefPtr<StaticBitmapImage> transferToStaticBitmapImage(); | 100 RefPtr<StaticBitmapImage> transferToStaticBitmapImage(); |
101 }; | 101 }; |
102 | 102 |
103 DEFINE_TYPE_CASTS(OffscreenCanvasRenderingContext2D, | 103 DEFINE_TYPE_CASTS(OffscreenCanvasRenderingContext2D, |
104 CanvasRenderingContext, | 104 CanvasRenderingContext, |
105 context, | 105 context, |
106 context->is2d() && context->getOffscreenCanvas(), | 106 context->is2d() && context->getOffscreenCanvas(), |
107 context.is2d() && context.getOffscreenCanvas()); | 107 context.is2d() && context.getOffscreenCanvas()); |
108 | 108 |
109 } // namespace blink | 109 } // namespace blink |
110 | 110 |
111 #endif // OffscreenCanvasRenderingContext2D_h | 111 #endif // OffscreenCanvasRenderingContext2D_h |
OLD | NEW |