| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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 | 5 |
| 6 #include "config.h" | 6 #include "config.h" |
| 7 | 7 |
| 8 #include "CCLayerTilingData.h" | 8 #include "CCLayerTilingData.h" |
| 9 | 9 |
| 10 #include "base/logging.h" |
| 11 |
| 10 using namespace std; | 12 using namespace std; |
| 11 | 13 |
| 12 namespace cc { | 14 namespace cc { |
| 13 | 15 |
| 14 scoped_ptr<CCLayerTilingData> CCLayerTilingData::create(const IntSize& tileSize,
BorderTexelOption border) | 16 scoped_ptr<CCLayerTilingData> CCLayerTilingData::create(const IntSize& tileSize,
BorderTexelOption border) |
| 15 { | 17 { |
| 16 return make_scoped_ptr(new CCLayerTilingData(tileSize, border)); | 18 return make_scoped_ptr(new CCLayerTilingData(tileSize, border)); |
| 17 } | 19 } |
| 18 | 20 |
| 19 CCLayerTilingData::CCLayerTilingData(const IntSize& tileSize, BorderTexelOption
border) | 21 CCLayerTilingData::CCLayerTilingData(const IntSize& tileSize, BorderTexelOption
border) |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 53 | 55 |
| 54 const CCLayerTilingData& CCLayerTilingData::operator=(const CCLayerTilingData& t
iler) | 56 const CCLayerTilingData& CCLayerTilingData::operator=(const CCLayerTilingData& t
iler) |
| 55 { | 57 { |
| 56 m_tilingData = tiler.m_tilingData; | 58 m_tilingData = tiler.m_tilingData; |
| 57 | 59 |
| 58 return *this; | 60 return *this; |
| 59 } | 61 } |
| 60 | 62 |
| 61 void CCLayerTilingData::addTile(scoped_ptr<Tile> tile, int i, int j) | 63 void CCLayerTilingData::addTile(scoped_ptr<Tile> tile, int i, int j) |
| 62 { | 64 { |
| 63 ASSERT(!tileAt(i, j)); | 65 DCHECK(!tileAt(i, j)); |
| 64 tile->moveTo(i, j); | 66 tile->moveTo(i, j); |
| 65 m_tiles.add(make_pair(i, j), tile.Pass()); | 67 m_tiles.add(make_pair(i, j), tile.Pass()); |
| 66 } | 68 } |
| 67 | 69 |
| 68 scoped_ptr<CCLayerTilingData::Tile> CCLayerTilingData::takeTile(int i, int j) | 70 scoped_ptr<CCLayerTilingData::Tile> CCLayerTilingData::takeTile(int i, int j) |
| 69 { | 71 { |
| 70 return m_tiles.take_and_erase(make_pair(i, j)); | 72 return m_tiles.take_and_erase(make_pair(i, j)); |
| 71 } | 73 } |
| 72 | 74 |
| 73 CCLayerTilingData::Tile* CCLayerTilingData::tileAt(int i, int j) const | 75 CCLayerTilingData::Tile* CCLayerTilingData::tileAt(int i, int j) const |
| 74 { | 76 { |
| 75 return m_tiles.get(make_pair(i, j)); | 77 return m_tiles.get(make_pair(i, j)); |
| 76 } | 78 } |
| 77 | 79 |
| 78 void CCLayerTilingData::reset() | 80 void CCLayerTilingData::reset() |
| 79 { | 81 { |
| 80 m_tiles.clear(); | 82 m_tiles.clear(); |
| 81 } | 83 } |
| 82 | 84 |
| 83 void CCLayerTilingData::contentRectToTileIndices(const IntRect& contentRect, int
& left, int& top, int& right, int& bottom) const | 85 void CCLayerTilingData::contentRectToTileIndices(const IntRect& contentRect, int
& left, int& top, int& right, int& bottom) const |
| 84 { | 86 { |
| 85 // An empty rect doesn't result in an empty set of tiles, so don't pass an e
mpty rect. | 87 // An empty rect doesn't result in an empty set of tiles, so don't pass an e
mpty rect. |
| 86 // FIXME: Possibly we should fill a vector of tiles instead, | 88 // FIXME: Possibly we should fill a vector of tiles instead, |
| 87 // since the normal use of this function is to enumerate some tiles. | 89 // since the normal use of this function is to enumerate some tiles. |
| 88 ASSERT(!contentRect.isEmpty()); | 90 DCHECK(!contentRect.isEmpty()); |
| 89 | 91 |
| 90 left = m_tilingData.tileXIndexFromSrcCoord(contentRect.x()); | 92 left = m_tilingData.tileXIndexFromSrcCoord(contentRect.x()); |
| 91 top = m_tilingData.tileYIndexFromSrcCoord(contentRect.y()); | 93 top = m_tilingData.tileYIndexFromSrcCoord(contentRect.y()); |
| 92 right = m_tilingData.tileXIndexFromSrcCoord(contentRect.maxX() - 1); | 94 right = m_tilingData.tileXIndexFromSrcCoord(contentRect.maxX() - 1); |
| 93 bottom = m_tilingData.tileYIndexFromSrcCoord(contentRect.maxY() - 1); | 95 bottom = m_tilingData.tileYIndexFromSrcCoord(contentRect.maxY() - 1); |
| 94 } | 96 } |
| 95 | 97 |
| 96 IntRect CCLayerTilingData::tileRect(const Tile* tile) const | 98 IntRect CCLayerTilingData::tileRect(const Tile* tile) const |
| 97 { | 99 { |
| 98 IntRect tileRect = m_tilingData.tileBoundsWithBorder(tile->i(), tile->j()); | 100 IntRect tileRect = m_tilingData.tileBoundsWithBorder(tile->i(), tile->j()); |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 140 for (size_t i = 0; i < invalidTileKeys.size(); ++i) | 142 for (size_t i = 0; i < invalidTileKeys.size(); ++i) |
| 141 m_tiles.erase(invalidTileKeys[i]); | 143 m_tiles.erase(invalidTileKeys[i]); |
| 142 } | 144 } |
| 143 | 145 |
| 144 IntSize CCLayerTilingData::bounds() const | 146 IntSize CCLayerTilingData::bounds() const |
| 145 { | 147 { |
| 146 return m_tilingData.totalSize(); | 148 return m_tilingData.totalSize(); |
| 147 } | 149 } |
| 148 | 150 |
| 149 } // namespace cc | 151 } // namespace cc |
| OLD | NEW |