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 ImageBitmapRenderingContext_h | 5 #ifndef ImageBitmapRenderingContext_h |
6 #define ImageBitmapRenderingContext_h | 6 #define ImageBitmapRenderingContext_h |
7 | 7 |
8 #include "core/html/canvas/CanvasRenderingContext.h" | 8 #include "core/html/canvas/CanvasRenderingContext.h" |
9 #include "core/html/canvas/CanvasRenderingContextFactory.h" | 9 #include "core/html/canvas/CanvasRenderingContextFactory.h" |
10 #include "modules/ModulesExport.h" | 10 #include "modules/ModulesExport.h" |
(...skipping 19 matching lines...) Expand all Loading... |
30 // Script API | 30 // Script API |
31 void transferFromImageBitmap(ImageBitmap*); | 31 void transferFromImageBitmap(ImageBitmap*); |
32 | 32 |
33 // CanvasRenderingContext implementation | 33 // CanvasRenderingContext implementation |
34 ContextType getContextType() const override { return CanvasRenderingContext:
:ContextImageBitmap; } | 34 ContextType getContextType() const override { return CanvasRenderingContext:
:ContextImageBitmap; } |
35 bool hasAlpha() const override { return m_hasAlpha; } | 35 bool hasAlpha() const override { return m_hasAlpha; } |
36 void setIsHidden(bool) override { } | 36 void setIsHidden(bool) override { } |
37 bool isContextLost() const override { return false; } | 37 bool isContextLost() const override { return false; } |
38 bool paint(GraphicsContext&, const IntRect&) override; | 38 bool paint(GraphicsContext&, const IntRect&) override; |
39 void setCanvasGetContextResult(RenderingContext&) final; | 39 void setCanvasGetContextResult(RenderingContext&) final; |
40 PassRefPtr<Image> getImage() const final { return m_image.get(); } | 40 PassRefPtr<Image> getImage(SnapshotReason) const final { return m_image.get(
); } |
41 | 41 |
42 // TODO(junov): Implement GPU accelerated rendering using a layer bridge | 42 // TODO(junov): Implement GPU accelerated rendering using a layer bridge |
43 WebLayer* platformLayer() const override { return nullptr; } | 43 WebLayer* platformLayer() const override { return nullptr; } |
44 // TODO(junov): handle lost contexts when content is GPU-backed | 44 // TODO(junov): handle lost contexts when content is GPU-backed |
45 void loseContext(LostContextMode) override { } | 45 void loseContext(LostContextMode) override { } |
46 | 46 |
47 void stop() override; | 47 void stop() override; |
48 | 48 |
| 49 bool isPaintable() const final { return m_image.get(); } |
| 50 |
49 virtual ~ImageBitmapRenderingContext(); | 51 virtual ~ImageBitmapRenderingContext(); |
50 | 52 |
51 private: | 53 private: |
52 ImageBitmapRenderingContext(HTMLCanvasElement*, CanvasContextCreationAttribu
tes, Document&); | 54 ImageBitmapRenderingContext(HTMLCanvasElement*, CanvasContextCreationAttribu
tes, Document&); |
53 | 55 |
54 bool m_hasAlpha; | 56 bool m_hasAlpha; |
55 RefPtr<Image> m_image; | 57 RefPtr<Image> m_image; |
56 | |
57 bool isPaintable() const final { return m_image.get(); } | |
58 }; | 58 }; |
59 | 59 |
60 DEFINE_TYPE_CASTS(ImageBitmapRenderingContext, CanvasRenderingContext, context, | 60 DEFINE_TYPE_CASTS(ImageBitmapRenderingContext, CanvasRenderingContext, context, |
61 context->getContextType() == CanvasRenderingContext::ContextImageBitmap, | 61 context->getContextType() == CanvasRenderingContext::ContextImageBitmap, |
62 context.getContextType() == CanvasRenderingContext::ContextImageBitmap); | 62 context.getContextType() == CanvasRenderingContext::ContextImageBitmap); |
63 | 63 |
64 } // blink | 64 } // blink |
65 | 65 |
66 #endif | 66 #endif |
OLD | NEW |