| Index: cc/CCLayerTilingData.cpp
|
| diff --git a/cc/CCLayerTilingData.cpp b/cc/CCLayerTilingData.cpp
|
| deleted file mode 100644
|
| index 12c7aefc9bc5f88ef71f7139dfed076752977d0e..0000000000000000000000000000000000000000
|
| --- a/cc/CCLayerTilingData.cpp
|
| +++ /dev/null
|
| @@ -1,158 +0,0 @@
|
| -// Copyright 2011 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -
|
| -#include "config.h"
|
| -
|
| -#if USE(ACCELERATED_COMPOSITING)
|
| -
|
| -#include "CCLayerTilingData.h"
|
| -
|
| -using namespace std;
|
| -
|
| -namespace cc {
|
| -
|
| -PassOwnPtr<CCLayerTilingData> CCLayerTilingData::create(const IntSize& tileSize, BorderTexelOption border)
|
| -{
|
| - return adoptPtr(new CCLayerTilingData(tileSize, border));
|
| -}
|
| -
|
| -CCLayerTilingData::CCLayerTilingData(const IntSize& tileSize, BorderTexelOption border)
|
| - : m_tilingData(tileSize, IntSize(), border == HasBorderTexels)
|
| -{
|
| - setTileSize(tileSize);
|
| -}
|
| -
|
| -CCLayerTilingData::~CCLayerTilingData()
|
| -{
|
| -}
|
| -
|
| -void CCLayerTilingData::setTileSize(const IntSize& size)
|
| -{
|
| - if (tileSize() == size)
|
| - return;
|
| -
|
| - reset();
|
| -
|
| - m_tilingData.setMaxTextureSize(size);
|
| -}
|
| -
|
| -IntSize CCLayerTilingData::tileSize() const
|
| -{
|
| - return m_tilingData.maxTextureSize();
|
| -}
|
| -
|
| -void CCLayerTilingData::setBorderTexelOption(BorderTexelOption borderTexelOption)
|
| -{
|
| - bool borderTexels = borderTexelOption == HasBorderTexels;
|
| - if (hasBorderTexels() == borderTexels)
|
| - return;
|
| -
|
| - reset();
|
| - m_tilingData.setHasBorderTexels(borderTexels);
|
| -}
|
| -
|
| -const CCLayerTilingData& CCLayerTilingData::operator=(const CCLayerTilingData& tiler)
|
| -{
|
| - m_tilingData = tiler.m_tilingData;
|
| -
|
| - return *this;
|
| -}
|
| -
|
| -void CCLayerTilingData::addTile(PassOwnPtr<Tile> tile, int i, int j)
|
| -{
|
| - ASSERT(!tileAt(i, j));
|
| - tile->moveTo(i, j);
|
| - m_tiles.add(make_pair(i, j), tile);
|
| -}
|
| -
|
| -PassOwnPtr<CCLayerTilingData::Tile> CCLayerTilingData::takeTile(int i, int j)
|
| -{
|
| - return m_tiles.take(make_pair(i, j));
|
| -}
|
| -
|
| -CCLayerTilingData::Tile* CCLayerTilingData::tileAt(int i, int j) const
|
| -{
|
| - return m_tiles.get(make_pair(i, j));
|
| -}
|
| -
|
| -void CCLayerTilingData::reset()
|
| -{
|
| - m_tiles.clear();
|
| -}
|
| -
|
| -void CCLayerTilingData::contentRectToTileIndices(const IntRect& contentRect, int& left, int& top, int& right, int& bottom) const
|
| -{
|
| - // An empty rect doesn't result in an empty set of tiles, so don't pass an empty rect.
|
| - // FIXME: Possibly we should fill a vector of tiles instead,
|
| - // since the normal use of this function is to enumerate some tiles.
|
| - ASSERT(!contentRect.isEmpty());
|
| -
|
| - left = m_tilingData.tileXIndexFromSrcCoord(contentRect.x());
|
| - top = m_tilingData.tileYIndexFromSrcCoord(contentRect.y());
|
| - right = m_tilingData.tileXIndexFromSrcCoord(contentRect.maxX() - 1);
|
| - bottom = m_tilingData.tileYIndexFromSrcCoord(contentRect.maxY() - 1);
|
| -}
|
| -
|
| -IntRect CCLayerTilingData::tileRect(const Tile* tile) const
|
| -{
|
| - IntRect tileRect = m_tilingData.tileBoundsWithBorder(tile->i(), tile->j());
|
| - tileRect.setSize(tileSize());
|
| - return tileRect;
|
| -}
|
| -
|
| -Region CCLayerTilingData::opaqueRegionInContentRect(const IntRect& contentRect) const
|
| -{
|
| - if (contentRect.isEmpty())
|
| - return Region();
|
| -
|
| - Region opaqueRegion;
|
| - int left, top, right, bottom;
|
| - contentRectToTileIndices(contentRect, left, top, right, bottom);
|
| - for (int j = top; j <= bottom; ++j) {
|
| - for (int i = left; i <= right; ++i) {
|
| - Tile* tile = tileAt(i, j);
|
| - if (!tile)
|
| - continue;
|
| -
|
| - IntRect tileOpaqueRect = intersection(contentRect, tile->opaqueRect());
|
| - opaqueRegion.unite(tileOpaqueRect);
|
| - }
|
| - }
|
| - return opaqueRegion;
|
| -}
|
| -
|
| -void CCLayerTilingData::setBounds(const IntSize& size)
|
| -{
|
| - m_tilingData.setTotalSize(size);
|
| - if (size.isEmpty()) {
|
| - m_tiles.clear();
|
| - return;
|
| - }
|
| -
|
| - // Any tiles completely outside our new bounds are invalid and should be dropped.
|
| - int left, top, right, bottom;
|
| - contentRectToTileIndices(IntRect(IntPoint(), size), left, top, right, bottom);
|
| - Vector<TileMapKey> invalidTileKeys;
|
| - for (TileMap::const_iterator it = m_tiles.begin(); it != m_tiles.end(); ++it) {
|
| -#if WTF_NEW_HASHMAP_ITERATORS_INTERFACE
|
| - if (it->key.first > right || it->key.second > bottom)
|
| - invalidTileKeys.append(it->key);
|
| -#else
|
| - if (it->first.first > right || it->first.second > bottom)
|
| - invalidTileKeys.append(it->first);
|
| -#endif
|
| - }
|
| - for (size_t i = 0; i < invalidTileKeys.size(); ++i)
|
| - m_tiles.remove(invalidTileKeys[i]);
|
| -}
|
| -
|
| -IntSize CCLayerTilingData::bounds() const
|
| -{
|
| - return m_tilingData.totalSize();
|
| -}
|
| -
|
| -} // namespace cc
|
| -
|
| -#endif // USE(ACCELERATED_COMPOSITING)
|
|
|