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 CC_RESOURCES_PICTURE_LAYER_TILING_SET_H_ | 5 #ifndef CC_RESOURCES_PICTURE_LAYER_TILING_SET_H_ |
6 #define CC_RESOURCES_PICTURE_LAYER_TILING_SET_H_ | 6 #define CC_RESOURCES_PICTURE_LAYER_TILING_SET_H_ |
7 | 7 |
8 #include "cc/base/region.h" | 8 #include "cc/base/region.h" |
9 #include "cc/base/scoped_ptr_vector.h" | 9 #include "cc/base/scoped_ptr_vector.h" |
10 #include "cc/resources/picture_layer_tiling.h" | 10 #include "cc/resources/picture_layer_tiling.h" |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 // Remove all tilings. | 48 // Remove all tilings. |
49 void RemoveAllTilings(); | 49 void RemoveAllTilings(); |
50 | 50 |
51 // Remove one tiling. | 51 // Remove one tiling. |
52 void Remove(PictureLayerTiling* tiling); | 52 void Remove(PictureLayerTiling* tiling); |
53 | 53 |
54 // Remove all tiles; keep all tilings. | 54 // Remove all tiles; keep all tilings. |
55 void RemoveAllTiles(); | 55 void RemoveAllTiles(); |
56 | 56 |
57 void DidBecomeActive(); | 57 void DidBecomeActive(); |
58 void DidBecomeRecycled(); | |
59 | 58 |
60 // For a given rect, iterates through tiles that can fill it. If no | 59 // For a given rect, iterates through tiles that can fill it. If no |
61 // set of tiles with resources can fill the rect, then it will iterate | 60 // set of tiles with resources can fill the rect, then it will iterate |
62 // through null tiles with valid geometry_rect() until the rect is full. | 61 // through null tiles with valid geometry_rect() until the rect is full. |
63 // If all tiles have resources, the union of all geometry_rects will | 62 // If all tiles have resources, the union of all geometry_rects will |
64 // exactly fill rect with no overlap. | 63 // exactly fill rect with no overlap. |
65 class CC_EXPORT CoverageIterator { | 64 class CC_EXPORT CoverageIterator { |
66 public: | 65 public: |
67 CoverageIterator(const PictureLayerTilingSet* set, | 66 CoverageIterator(const PictureLayerTilingSet* set, |
68 float contents_scale, | 67 float contents_scale, |
69 const gfx::Rect& content_rect, | 68 const gfx::Rect& content_rect, |
70 float ideal_contents_scale); | 69 float ideal_contents_scale); |
71 ~CoverageIterator(); | 70 ~CoverageIterator(); |
72 | 71 |
73 // Visible rect (no borders), always in the space of rect, | 72 // Visible rect (no borders), always in the space of rect, |
74 // regardless of the relative contents scale of the tiling. | 73 // regardless of the relative contents scale of the tiling. |
75 gfx::Rect geometry_rect() const; | 74 gfx::Rect geometry_rect() const; |
76 // Texture rect (in texels) for geometry_rect | 75 // Texture rect (in texels) for geometry_rect |
77 gfx::RectF texture_rect() const; | 76 gfx::RectF texture_rect() const; |
78 // Texture size in texels | 77 // Texture size in texels |
79 gfx::Size texture_size() const; | 78 gfx::Size texture_size() const; |
| 79 // Tile resolution. |
| 80 TileResolution resolution(); |
80 | 81 |
81 Tile* operator->() const; | 82 Tile* operator->() const; |
82 Tile* operator*() const; | 83 Tile* operator*() const; |
83 | 84 |
84 CoverageIterator& operator++(); | 85 CoverageIterator& operator++(); |
85 operator bool() const; | 86 operator bool() const; |
86 | 87 |
87 PictureLayerTiling* CurrentTiling(); | 88 PictureLayerTiling* CurrentTiling(); |
88 | 89 |
89 private: | 90 private: |
(...skipping 19 matching lines...) Expand all Loading... |
109 gfx::Size layer_bounds_; | 110 gfx::Size layer_bounds_; |
110 ScopedPtrVector<PictureLayerTiling> tilings_; | 111 ScopedPtrVector<PictureLayerTiling> tilings_; |
111 | 112 |
112 friend class Iterator; | 113 friend class Iterator; |
113 DISALLOW_COPY_AND_ASSIGN(PictureLayerTilingSet); | 114 DISALLOW_COPY_AND_ASSIGN(PictureLayerTilingSet); |
114 }; | 115 }; |
115 | 116 |
116 } // namespace cc | 117 } // namespace cc |
117 | 118 |
118 #endif // CC_RESOURCES_PICTURE_LAYER_TILING_SET_H_ | 119 #endif // CC_RESOURCES_PICTURE_LAYER_TILING_SET_H_ |
OLD | NEW |