| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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 CCRendererSoftware_h | 5 #ifndef CCRendererSoftware_h |
| 6 #define CCRendererSoftware_h | 6 #define CCRendererSoftware_h |
| 7 | 7 |
| 8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
| 9 #include "cc/direct_renderer.h" | 9 #include "cc/direct_renderer.h" |
| 10 #include <public/WebCompositorSoftwareOutputDevice.h> | 10 |
| 11 namespace WebKit { |
| 12 class WebCompositorSoftwareOutputDevice; |
| 13 } |
| 14 |
| 15 namespace media { |
| 16 class SkCanvasVideoRenderer; |
| 17 } |
| 11 | 18 |
| 12 namespace cc { | 19 namespace cc { |
| 13 | 20 |
| 14 class DebugBorderDrawQuad; | 21 class DebugBorderDrawQuad; |
| 15 class RendererClient; | 22 class RendererClient; |
| 16 class ResourceProvider; | 23 class ResourceProvider; |
| 17 class SolidColorDrawQuad; | 24 class SolidColorDrawQuad; |
| 18 class TextureDrawQuad; | 25 class TextureDrawQuad; |
| 19 class TileDrawQuad; | 26 class TileDrawQuad; |
| 20 class RenderPassDrawQuad; | 27 class RenderPassDrawQuad; |
| 28 class VideoFrameDrawQuad; |
| 21 | 29 |
| 22 class SoftwareRenderer : public DirectRenderer { | 30 class SoftwareRenderer : public DirectRenderer { |
| 23 public: | 31 public: |
| 24 static scoped_ptr<SoftwareRenderer> create(RendererClient*, ResourceProvider
*, WebKit::WebCompositorSoftwareOutputDevice*); | 32 static scoped_ptr<SoftwareRenderer> create(RendererClient*, ResourceProvider
*, WebKit::WebCompositorSoftwareOutputDevice*); |
| 25 virtual ~SoftwareRenderer(); | 33 virtual ~SoftwareRenderer(); |
| 26 | 34 |
| 27 virtual const RendererCapabilities& capabilities() const OVERRIDE; | 35 virtual const RendererCapabilities& capabilities() const OVERRIDE; |
| 28 | 36 |
| 29 virtual void viewportChanged() OVERRIDE; | 37 virtual void viewportChanged() OVERRIDE; |
| 30 | 38 |
| (...skipping 20 matching lines...) Expand all Loading... |
| 51 private: | 59 private: |
| 52 SoftwareRenderer(RendererClient*, ResourceProvider*, WebKit::WebCompositorSo
ftwareOutputDevice*); | 60 SoftwareRenderer(RendererClient*, ResourceProvider*, WebKit::WebCompositorSo
ftwareOutputDevice*); |
| 53 | 61 |
| 54 bool isSoftwareResource(ResourceProvider::ResourceId) const; | 62 bool isSoftwareResource(ResourceProvider::ResourceId) const; |
| 55 | 63 |
| 56 void drawDebugBorderQuad(const DrawingFrame&, const DebugBorderDrawQuad*); | 64 void drawDebugBorderQuad(const DrawingFrame&, const DebugBorderDrawQuad*); |
| 57 void drawSolidColorQuad(const DrawingFrame&, const SolidColorDrawQuad*); | 65 void drawSolidColorQuad(const DrawingFrame&, const SolidColorDrawQuad*); |
| 58 void drawTextureQuad(const DrawingFrame&, const TextureDrawQuad*); | 66 void drawTextureQuad(const DrawingFrame&, const TextureDrawQuad*); |
| 59 void drawTileQuad(const DrawingFrame&, const TileDrawQuad*); | 67 void drawTileQuad(const DrawingFrame&, const TileDrawQuad*); |
| 60 void drawRenderPassQuad(const DrawingFrame& frame, const RenderPassDrawQuad*
); | 68 void drawRenderPassQuad(const DrawingFrame& frame, const RenderPassDrawQuad*
); |
| 69 void drawVideoFrameQuad(const DrawingFrame& frame, const VideoFrameDrawQuad*
); |
| 61 void drawUnsupportedQuad(const DrawingFrame&, const DrawQuad*); | 70 void drawUnsupportedQuad(const DrawingFrame&, const DrawQuad*); |
| 62 | 71 |
| 63 RendererCapabilities m_capabilities; | 72 RendererCapabilities m_capabilities; |
| 64 bool m_visible; | 73 bool m_visible; |
| 65 | 74 |
| 66 WebKit::WebCompositorSoftwareOutputDevice* m_outputDevice; | 75 WebKit::WebCompositorSoftwareOutputDevice* m_outputDevice; |
| 67 scoped_ptr<SkCanvas> m_skRootCanvas; | 76 scoped_ptr<SkCanvas> m_skRootCanvas; |
| 68 SkCanvas* m_skCurrentCanvas; | 77 SkCanvas* m_skCurrentCanvas; |
| 69 SkPaint m_skCurrentPaint; | 78 SkPaint m_skCurrentPaint; |
| 70 scoped_ptr<ResourceProvider::ScopedWriteLockSoftware> m_currentFramebufferLo
ck; | 79 scoped_ptr<ResourceProvider::ScopedWriteLockSoftware> m_currentFramebufferLo
ck; |
| 80 scoped_ptr<media::SkCanvasVideoRenderer> m_videoRenderer; |
| 71 | 81 |
| 72 DISALLOW_COPY_AND_ASSIGN(SoftwareRenderer); | 82 DISALLOW_COPY_AND_ASSIGN(SoftwareRenderer); |
| 73 }; | 83 }; |
| 74 | 84 |
| 75 } | 85 } |
| 76 | 86 |
| 77 #endif | 87 #endif |
| OLD | NEW |