| 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 CCTiledLayerTestCommon_h | 5 #ifndef CCTiledLayerTestCommon_h |
| 6 #define CCTiledLayerTestCommon_h | 6 #define CCTiledLayerTestCommon_h |
| 7 | 7 |
| 8 #include "IntRect.h" | |
| 9 #include "IntSize.h" | |
| 10 #include "Region.h" | 8 #include "Region.h" |
| 11 #include "cc/layer_updater.h" | 9 #include "cc/layer_updater.h" |
| 12 #include "cc/prioritized_texture.h" | 10 #include "cc/prioritized_texture.h" |
| 13 #include "cc/resource_provider.h" | 11 #include "cc/resource_provider.h" |
| 14 #include "cc/resource_update_queue.h" | 12 #include "cc/resource_update_queue.h" |
| 15 #include "cc/texture_copier.h" | 13 #include "cc/texture_copier.h" |
| 16 #include "cc/texture_uploader.h" | 14 #include "cc/texture_uploader.h" |
| 17 #include "cc/tiled_layer.h" | 15 #include "cc/tiled_layer.h" |
| 18 #include "cc/tiled_layer_impl.h" | 16 #include "cc/tiled_layer_impl.h" |
| 17 #include "ui/gfx/rect.h" |
| 18 #include "ui/gfx/size.h" |
| 19 | 19 |
| 20 namespace WebKitTests { | 20 namespace WebKitTests { |
| 21 | 21 |
| 22 class FakeTiledLayer; | 22 class FakeTiledLayer; |
| 23 | 23 |
| 24 class FakeLayerUpdater : public cc::LayerUpdater { | 24 class FakeLayerUpdater : public cc::LayerUpdater { |
| 25 public: | 25 public: |
| 26 class Resource : public cc::LayerUpdater::Resource { | 26 class Resource : public cc::LayerUpdater::Resource { |
| 27 public: | 27 public: |
| 28 Resource(FakeLayerUpdater*, scoped_ptr<cc::PrioritizedTexture>); | 28 Resource(FakeLayerUpdater*, scoped_ptr<cc::PrioritizedTexture>); |
| 29 virtual ~Resource(); | 29 virtual ~Resource(); |
| 30 | 30 |
| 31 virtual void update(cc::ResourceUpdateQueue&, const gfx::Rect&, const gf
x::Vector2d&, bool, cc::RenderingStats&) OVERRIDE; | 31 virtual void update(cc::ResourceUpdateQueue&, const gfx::Rect&, const gf
x::Vector2d&, bool, cc::RenderingStats&) OVERRIDE; |
| 32 | 32 |
| 33 private: | 33 private: |
| 34 FakeLayerUpdater* m_layer; | 34 FakeLayerUpdater* m_layer; |
| 35 SkBitmap m_bitmap; | 35 SkBitmap m_bitmap; |
| 36 }; | 36 }; |
| 37 | 37 |
| 38 FakeLayerUpdater(); | 38 FakeLayerUpdater(); |
| 39 | 39 |
| 40 virtual scoped_ptr<cc::LayerUpdater::Resource> createResource(cc::Prioritize
dTextureManager*) OVERRIDE; | 40 virtual scoped_ptr<cc::LayerUpdater::Resource> createResource(cc::Prioritize
dTextureManager*) OVERRIDE; |
| 41 | 41 |
| 42 virtual void prepareToUpdate(const gfx::Rect& contentRect, const gfx::Size&,
float, float, gfx::Rect& resultingOpaqueRect, cc::RenderingStats&) OVERRIDE; | 42 virtual void prepareToUpdate(const gfx::Rect& contentRect, const gfx::Size&,
float, float, gfx::Rect& resultingOpaqueRect, cc::RenderingStats&) OVERRIDE; |
| 43 // Sets the rect to invalidate during the next call to prepareToUpdate(). Af
ter the next | 43 // Sets the rect to invalidate during the next call to prepareToUpdate(). Af
ter the next |
| 44 // call to prepareToUpdate() the rect is reset. | 44 // call to prepareToUpdate() the rect is reset. |
| 45 void setRectToInvalidate(const cc::IntRect&, FakeTiledLayer*); | 45 void setRectToInvalidate(const gfx::Rect&, FakeTiledLayer*); |
| 46 // Last rect passed to prepareToUpdate(). | 46 // Last rect passed to prepareToUpdate(). |
| 47 const gfx::Rect& lastUpdateRect() const { return m_lastUpdateRect; } | 47 const gfx::Rect& lastUpdateRect() const { return m_lastUpdateRect; } |
| 48 | 48 |
| 49 // Number of times prepareToUpdate has been invoked. | 49 // Number of times prepareToUpdate has been invoked. |
| 50 int prepareCount() const { return m_prepareCount; } | 50 int prepareCount() const { return m_prepareCount; } |
| 51 void clearPrepareCount() { m_prepareCount = 0; } | 51 void clearPrepareCount() { m_prepareCount = 0; } |
| 52 | 52 |
| 53 // Number of times update() has been invoked on a texture. | 53 // Number of times update() has been invoked on a texture. |
| 54 int updateCount() const { return m_updateCount; } | 54 int updateCount() const { return m_updateCount; } |
| 55 void clearUpdateCount() { m_updateCount = 0; } | 55 void clearUpdateCount() { m_updateCount = 0; } |
| 56 void update() { m_updateCount++; } | 56 void update() { m_updateCount++; } |
| 57 | 57 |
| 58 void setOpaquePaintRect(const gfx::Rect& opaquePaintRect) { m_opaquePaintRec
t = opaquePaintRect; } | 58 void setOpaquePaintRect(const gfx::Rect& opaquePaintRect) { m_opaquePaintRec
t = opaquePaintRect; } |
| 59 | 59 |
| 60 protected: | 60 protected: |
| 61 virtual ~FakeLayerUpdater(); | 61 virtual ~FakeLayerUpdater(); |
| 62 | 62 |
| 63 private: | 63 private: |
| 64 int m_prepareCount; | 64 int m_prepareCount; |
| 65 int m_updateCount; | 65 int m_updateCount; |
| 66 cc::IntRect m_rectToInvalidate; | 66 gfx::Rect m_rectToInvalidate; |
| 67 gfx::Rect m_lastUpdateRect; | 67 gfx::Rect m_lastUpdateRect; |
| 68 gfx::Rect m_opaquePaintRect; | 68 gfx::Rect m_opaquePaintRect; |
| 69 scoped_refptr<FakeTiledLayer> m_layer; | 69 scoped_refptr<FakeTiledLayer> m_layer; |
| 70 }; | 70 }; |
| 71 | 71 |
| 72 class FakeTiledLayerImpl : public cc::TiledLayerImpl { | 72 class FakeTiledLayerImpl : public cc::TiledLayerImpl { |
| 73 public: | 73 public: |
| 74 explicit FakeTiledLayerImpl(int id); | 74 explicit FakeTiledLayerImpl(int id); |
| 75 virtual ~FakeTiledLayerImpl(); | 75 virtual ~FakeTiledLayerImpl(); |
| 76 | 76 |
| 77 using cc::TiledLayerImpl::hasTileAt; | 77 using cc::TiledLayerImpl::hasTileAt; |
| 78 using cc::TiledLayerImpl::hasResourceIdForTileAt; | 78 using cc::TiledLayerImpl::hasResourceIdForTileAt; |
| 79 }; | 79 }; |
| 80 | 80 |
| 81 class FakeTiledLayer : public cc::TiledLayer { | 81 class FakeTiledLayer : public cc::TiledLayer { |
| 82 public: | 82 public: |
| 83 explicit FakeTiledLayer(cc::PrioritizedTextureManager*); | 83 explicit FakeTiledLayer(cc::PrioritizedTextureManager*); |
| 84 | 84 |
| 85 static cc::IntSize tileSize() { return cc::IntSize(100, 100); } | 85 static gfx::Size tileSize() { return gfx::Size(100, 100); } |
| 86 | 86 |
| 87 using cc::TiledLayer::invalidateContentRect; | 87 using cc::TiledLayer::invalidateContentRect; |
| 88 using cc::TiledLayer::needsIdlePaint; | 88 using cc::TiledLayer::needsIdlePaint; |
| 89 using cc::TiledLayer::skipsDraw; | 89 using cc::TiledLayer::skipsDraw; |
| 90 using cc::TiledLayer::numPaintedTiles; | 90 using cc::TiledLayer::numPaintedTiles; |
| 91 using cc::TiledLayer::idlePaintRect; | 91 using cc::TiledLayer::idlePaintRect; |
| 92 | 92 |
| 93 virtual void setNeedsDisplayRect(const cc::FloatRect&) OVERRIDE; | 93 virtual void setNeedsDisplayRect(const gfx::RectF&) OVERRIDE; |
| 94 const cc::FloatRect& lastNeedsDisplayRect() const { return m_lastNeedsDispla
yRect; } | 94 const gfx::RectF& lastNeedsDisplayRect() const { return m_lastNeedsDisplayRe
ct; } |
| 95 | 95 |
| 96 virtual void setTexturePriorities(const cc::PriorityCalculator&) OVERRIDE; | 96 virtual void setTexturePriorities(const cc::PriorityCalculator&) OVERRIDE; |
| 97 | 97 |
| 98 virtual cc::PrioritizedTextureManager* textureManager() const OVERRIDE; | 98 virtual cc::PrioritizedTextureManager* textureManager() const OVERRIDE; |
| 99 FakeLayerUpdater* fakeLayerUpdater() { return m_fakeUpdater.get(); } | 99 FakeLayerUpdater* fakeLayerUpdater() { return m_fakeUpdater.get(); } |
| 100 cc::FloatRect updateRect() { return m_updateRect; } | 100 gfx::RectF updateRect() { return m_updateRect; } |
| 101 | 101 |
| 102 protected: | 102 protected: |
| 103 virtual cc::LayerUpdater* updater() const OVERRIDE; | 103 virtual cc::LayerUpdater* updater() const OVERRIDE; |
| 104 virtual void createUpdaterIfNeeded() OVERRIDE { } | 104 virtual void createUpdaterIfNeeded() OVERRIDE { } |
| 105 virtual ~FakeTiledLayer(); | 105 virtual ~FakeTiledLayer(); |
| 106 | 106 |
| 107 private: | 107 private: |
| 108 scoped_refptr<FakeLayerUpdater> m_fakeUpdater; | 108 scoped_refptr<FakeLayerUpdater> m_fakeUpdater; |
| 109 cc::PrioritizedTextureManager* m_textureManager; | 109 cc::PrioritizedTextureManager* m_textureManager; |
| 110 cc::FloatRect m_lastNeedsDisplayRect; | 110 gfx::RectF m_lastNeedsDisplayRect; |
| 111 }; | 111 }; |
| 112 | 112 |
| 113 class FakeTiledLayerWithScaledBounds : public FakeTiledLayer { | 113 class FakeTiledLayerWithScaledBounds : public FakeTiledLayer { |
| 114 public: | 114 public: |
| 115 explicit FakeTiledLayerWithScaledBounds(cc::PrioritizedTextureManager*); | 115 explicit FakeTiledLayerWithScaledBounds(cc::PrioritizedTextureManager*); |
| 116 | 116 |
| 117 void setContentBounds(const cc::IntSize& contentBounds) { m_forcedContentBou
nds = contentBounds; } | 117 void setContentBounds(const gfx::Size& contentBounds) { m_forcedContentBound
s = contentBounds; } |
| 118 virtual cc::IntSize contentBounds() const OVERRIDE; | 118 virtual gfx::Size contentBounds() const OVERRIDE; |
| 119 virtual float contentsScaleX() const OVERRIDE; | 119 virtual float contentsScaleX() const OVERRIDE; |
| 120 virtual float contentsScaleY() const OVERRIDE; | 120 virtual float contentsScaleY() const OVERRIDE; |
| 121 virtual void setContentsScale(float) OVERRIDE; | 121 virtual void setContentsScale(float) OVERRIDE; |
| 122 | 122 |
| 123 protected: | 123 protected: |
| 124 virtual ~FakeTiledLayerWithScaledBounds(); | 124 virtual ~FakeTiledLayerWithScaledBounds(); |
| 125 cc::IntSize m_forcedContentBounds; | 125 gfx::Size m_forcedContentBounds; |
| 126 }; | 126 }; |
| 127 | 127 |
| 128 } | 128 } |
| 129 #endif // CCTiledLayerTestCommon_h | 129 #endif // CCTiledLayerTestCommon_h |
| OLD | NEW |