OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 19 matching lines...) Expand all Loading... |
30 | 30 |
31 #ifndef Canvas2DImageBufferSurface_h | 31 #ifndef Canvas2DImageBufferSurface_h |
32 #define Canvas2DImageBufferSurface_h | 32 #define Canvas2DImageBufferSurface_h |
33 | 33 |
34 #include "platform/graphics/Canvas2DLayerBridge.h" | 34 #include "platform/graphics/Canvas2DLayerBridge.h" |
35 #include "platform/graphics/ImageBufferSurface.h" | 35 #include "platform/graphics/ImageBufferSurface.h" |
36 | 36 |
37 namespace WebCore { | 37 namespace WebCore { |
38 | 38 |
39 // This shim necessary because ImageBufferSurfaces are not allowed to be RefCoun
ted | 39 // This shim necessary because ImageBufferSurfaces are not allowed to be RefCoun
ted |
40 class Canvas2DImageBufferSurface : public ImageBufferSurface { | 40 class Canvas2DImageBufferSurface FINAL : public ImageBufferSurface { |
41 public: | 41 public: |
42 Canvas2DImageBufferSurface(const IntSize& size, OpacityMode opacityMode = No
nOpaque, int msaaSampleCount = 1) | 42 Canvas2DImageBufferSurface(const IntSize& size, OpacityMode opacityMode = No
nOpaque, int msaaSampleCount = 1) |
43 : ImageBufferSurface(size, opacityMode) | 43 : ImageBufferSurface(size, opacityMode) |
44 , m_layerBridge(Canvas2DLayerBridge::create(size, opacityMode, msaaSampl
eCount)) | 44 , m_layerBridge(Canvas2DLayerBridge::create(size, opacityMode, msaaSampl
eCount)) |
45 { | 45 { |
46 clear(); | 46 clear(); |
47 } | 47 } |
48 | 48 |
49 virtual ~Canvas2DImageBufferSurface() | 49 virtual ~Canvas2DImageBufferSurface() |
50 { | 50 { |
51 if (m_layerBridge) | 51 if (m_layerBridge) |
52 m_layerBridge->beginDestruction(); | 52 m_layerBridge->beginDestruction(); |
53 } | 53 } |
54 | 54 |
55 // ImageBufferSurface implementation | 55 // ImageBufferSurface implementation |
56 virtual void willUse() OVERRIDE { m_layerBridge->willUse(); } | 56 virtual void willUse() OVERRIDE { m_layerBridge->willUse(); } |
57 virtual SkCanvas* canvas() const OVERRIDE { return m_layerBridge->canvas();
} | 57 virtual SkCanvas* canvas() const OVERRIDE { return m_layerBridge->canvas();
} |
58 virtual bool isValid() const OVERRIDE { return m_layerBridge && m_layerBridg
e->isValid(); } | 58 virtual bool isValid() const OVERRIDE { return m_layerBridge && m_layerBridg
e->isValid(); } |
59 virtual blink::WebLayer* layer() const OVERRIDE { return m_layerBridge->laye
r(); } | 59 virtual blink::WebLayer* layer() const OVERRIDE { return m_layerBridge->laye
r(); } |
60 virtual Platform3DObject getBackingTexture() const OVERRIDE { return m_layer
Bridge->getBackingTexture(); } | 60 virtual Platform3DObject getBackingTexture() const OVERRIDE { return m_layer
Bridge->getBackingTexture(); } |
61 virtual bool isAccelerated() const { return m_layerBridge->isAccelerated();
} | 61 virtual bool isAccelerated() const OVERRIDE { return m_layerBridge->isAccele
rated(); } |
62 | 62 |
63 private: | 63 private: |
64 RefPtr<Canvas2DLayerBridge> m_layerBridge; | 64 RefPtr<Canvas2DLayerBridge> m_layerBridge; |
65 }; | 65 }; |
66 | 66 |
67 } | 67 } |
68 | 68 |
69 #endif | 69 #endif |
OLD | NEW |