Changeset 112449 in webkit
- Timestamp:
- Mar 28, 2012 3:07:25 PM (12 years ago)
- Location:
- trunk/Source
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r112448 r112449 1 2012-03-28 Sheriff Bot <webkit.review.bot@gmail.com> 2 3 Unreviewed, rolling out r112432. 4 http://trac.webkit.org/changeset/112432 5 https://bugs.webkit.org/show_bug.cgi?id=82536 6 7 Causes ccs3 layout test asserts (Requested by enne on 8 #webkit). 9 10 * platform/graphics/chromium/TiledLayerChromium.cpp: 11 (WebCore::TiledLayerChromium::drawsContent): 12 (WebCore::TiledLayerChromium::reserveTextures): 13 (WebCore::TiledLayerChromium::prepareToUpdate): 14 (WebCore::TiledLayerChromium::prepareToUpdateIdle): 15 (WebCore::TiledLayerChromium::needsIdlePaint): 16 (WebCore::TiledLayerChromium::idlePaintRect): 17 * platform/graphics/chromium/cc/CCLayerTilingData.cpp: 18 (WebCore::CCLayerTilingData::tileRect): 19 * platform/graphics/chromium/cc/CCLayerTilingData.h: 20 (WebCore::CCLayerTilingData::numTiles): 21 (WebCore::CCLayerTilingData::tileBounds): 22 (WebCore::CCLayerTilingData::isEmpty): 23 * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: 24 (WebCore::CCTiledLayerImpl::bindContentsTexture): 25 (WebCore::CCTiledLayerImpl::appendQuads): 26 * platform/graphics/filters/FECustomFilter.cpp: 27 (WebCore::FECustomFilter::platformApplySoftware): 28 * platform/graphics/gpu/Texture.cpp: 29 (WebCore::Texture::create): 30 (WebCore::Texture::updateSubRect): 31 * platform/graphics/gpu/TilingData.cpp: 32 (WebCore::TilingData::tileBounds): 33 (WebCore::TilingData::tileBoundsWithBorder): 34 (WebCore::TilingData::tileBoundsNormalized): 35 (WebCore::TilingData::intersectDrawQuad): 36 (WebCore): 37 * platform/graphics/gpu/TilingData.h: 38 (WebCore::TilingData::numTiles): 39 (WebCore::TilingData::tileIndex): 40 (WebCore::TilingData::tileXIndex): 41 (WebCore::TilingData::tileYIndex): 42 (TilingData): 43 (WebCore::TilingData::assertTile): 44 1 45 2012-03-27 Daniel Cheng <dcheng@chromium.org> 2 46 -
trunk/Source/WebCore/platform/graphics/chromium/TiledLayerChromium.cpp
r112432 r112449 167 167 return false; 168 168 169 bool hasMoreThanOneTile = m_tiler->numTilesX() > 1 || m_tiler->numTilesY() > 1; 170 if (m_tilingOption == NeverTile && hasMoreThanOneTile) 169 if (m_tilingOption == NeverTile && m_tiler->numTiles() > 1) 171 170 return false; 172 171 … … 558 557 559 558 const IntRect& layerRect = visibleLayerRect(); 560 if (layerRect.isEmpty() || m_tiler->hasEmptyBounds())559 if (layerRect.isEmpty() || !m_tiler->numTiles()) 561 560 return; 562 561 … … 611 610 resetUpdateState(); 612 611 613 if (layerRect.isEmpty() || m_tiler->hasEmptyBounds())612 if (layerRect.isEmpty() || !m_tiler->numTiles()) 614 613 return; 615 614 … … 630 629 updateBounds(); 631 630 632 if ( m_tiler->hasEmptyBounds())631 if (!m_tiler->numTiles()) 633 632 return; 634 633 … … 703 702 return false; 704 703 705 if ( m_tiler->hasEmptyBounds())704 if (!m_tiler->numTiles()) 706 705 return false; 707 706 … … 733 732 // ones we avoid prepainting the layer at all. 734 733 if (visibleLayerRect.isEmpty()) { 735 bool isSmallLayer = m_tiler->numTilesX() <= 9 && m_tiler->numTilesY() <= 9 && m_tiler->numTilesX() * m_tiler->numTilesY() <= 9; 736 if ((drawTransformIsAnimating() || screenSpaceTransformIsAnimating()) && isSmallLayer) 734 if ((drawTransformIsAnimating() || screenSpaceTransformIsAnimating()) && m_tiler->numTiles() <= 9) 737 735 return IntRect(IntPoint(), contentBounds()); 738 736 return IntRect(); -
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTilingData.cpp
r112432 r112449 107 107 IntRect CCLayerTilingData::tileRect(const Tile* tile) const 108 108 { 109 IntRect tileRect = m_tilingData.tileBoundsWithBorder(tile->i(), tile->j()); 109 const int index = m_tilingData.tileIndex(tile->i(), tile->j()); 110 IntRect tileRect = m_tilingData.tileBoundsWithBorder(index); 110 111 tileRect.setSize(m_tileSize); 111 112 return tileRect; -
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTilingData.h
r112432 r112449 45 45 static PassOwnPtr<CCLayerTilingData> create(const IntSize& tileSize, BorderTexelOption); 46 46 47 bool hasEmptyBounds() const { return m_tilingData.hasEmptyBounds(); }47 int numTiles() const { return m_tilingData.numTiles(); } 48 48 int numTilesX() const { return m_tilingData.numTilesX(); } 49 49 int numTilesY() const { return m_tilingData.numTilesY(); } 50 IntRect tileBounds(int i, int j) const { return m_tilingData.tileBounds( i, j); }50 IntRect tileBounds(int i, int j) const { return m_tilingData.tileBounds(m_tilingData.tileIndex(i, j)); } 51 51 IntPoint textureOffset(int xIndex, int yIndex) const { return m_tilingData.textureOffset(xIndex, yIndex); } 52 52 … … 58 58 bool hasBorderTexels() const { return m_tilingData.borderTexels(); } 59 59 60 bool isEmpty() const { return hasEmptyBounds() || !tiles().size(); }60 bool isEmpty() const { return !m_tilingData.numTiles() || !tiles().size(); } 61 61 62 62 const CCLayerTilingData& operator=(const CCLayerTilingData&); -
trunk/Source/WebCore/platform/graphics/chromium/cc/CCTiledLayerImpl.cpp
r112432 r112449 81 81 // This function is only valid for single texture layers, e.g. masks. 82 82 ASSERT(m_tiler); 83 ASSERT(m_tiler->numTilesX() == 1); 84 ASSERT(m_tiler->numTilesY() == 1); 83 ASSERT(m_tiler->numTiles() == 1); 85 84 86 85 DrawableTile* tile = tileAt(0, 0); … … 145 144 appendGutterQuads(quadList, sharedQuadState); 146 145 147 if (!m_tiler || m_tiler->hasEmptyBounds() || layerRect.isEmpty())146 if (!m_tiler || !m_tiler->numTiles() || layerRect.isEmpty()) 148 147 return; 149 148 -
trunk/Source/WebCore/platform/graphics/filters/FECustomFilter.cpp
r112432 r112449 113 113 114 114 // Do not draw the filter if the input image cannot fit inside a single GPU texture. 115 if (m_inputTexture->tiles().numTiles X() != 1 || m_inputTexture->tiles().numTilesY() != 1)115 if (m_inputTexture->tiles().numTiles() != 1) 116 116 return; 117 117 -
trunk/Source/WebCore/platform/graphics/gpu/Texture.cpp
r112432 r112449 91 91 context->getIntegerv(GraphicsContext3D::MAX_TEXTURE_SIZE, &maxTextureSize); 92 92 TilingData tiling(maxTextureSize, width, height, true); 93 94 // Check for overflow. 95 int numTiles = width * height; 96 if (numTiles / width != height) { 97 tiling.setTotalSize(0, 0); 98 numTiles = 0; 99 } 93 int numTiles = tiling.numTiles(); 100 94 101 95 OwnPtr<Vector<unsigned int> > textureIds = adoptPtr(new Vector<unsigned int>(numTiles)); … … 111 105 textureIds->at(i) = textureId; 112 106 113 int xIndex = i % width; 114 int yIndex = i / width; 115 IntRect tileBoundsWithBorder = tiling.tileBoundsWithBorder(xIndex, yIndex); 107 IntRect tileBoundsWithBorder = tiling.tileBoundsWithBorder(i); 116 108 117 109 unsigned int glFormat = 0; … … 177 169 OwnArrayPtr<uint32_t> tempBuff = adoptArrayPtr(new uint32_t[tempBuffSize]); 178 170 179 for (int tile = 0; tile < m_tiles.numTilesX() * m_tiles.numTilesY(); tile++) { 180 int xIndex = tile % m_tiles.totalSizeX(); 181 int yIndex = tile / m_tiles.totalSizeX(); 182 171 for (int tile = 0; tile < m_tiles.numTiles(); tile++) { 183 172 // Intersect with tile 184 IntRect tileBoundsWithBorder = m_tiles.tileBoundsWithBorder( xIndex, yIndex);173 IntRect tileBoundsWithBorder = m_tiles.tileBoundsWithBorder(tile); 185 174 186 175 IntRect updateRectIntersected = updateRectSanitized; -
trunk/Source/WebCore/platform/graphics/gpu/TilingData.cpp
r112432 r112449 100 100 } 101 101 102 IntRect TilingData::tileBounds(int i, int j) const 103 { 104 assertTile(i, j); 105 int x = tilePositionX(i); 106 int y = tilePositionY(j); 107 int width = tileSizeX(i); 108 int height = tileSizeY(j); 102 IntRect TilingData::tileBounds(int tile) const 103 { 104 assertTile(tile); 105 int ix = tileXIndex(tile); 106 int iy = tileYIndex(tile); 107 int x = tilePositionX(ix); 108 int y = tilePositionY(iy); 109 int width = tileSizeX(ix); 110 int height = tileSizeY(iy); 109 111 ASSERT(x >= 0 && y >= 0 && width >= 0 && height >= 0); 110 112 ASSERT(x <= totalSizeX() && y <= totalSizeY()); … … 112 114 } 113 115 114 IntRect TilingData::tileBoundsWithBorder(int i, int j) const115 { 116 IntRect bounds = tileBounds( i, j);116 IntRect TilingData::tileBoundsWithBorder(int tile) const 117 { 118 IntRect bounds = tileBounds(tile); 117 119 118 120 if (m_borderTexels) { … … 122 124 int y2 = bounds.maxY(); 123 125 124 if ( i> 0)126 if (tileXIndex(tile) > 0) 125 127 x1--; 126 if ( i< (numTilesX() - 1))128 if (tileXIndex(tile) < (numTilesX() - 1)) 127 129 x2++; 128 if ( j> 0)130 if (tileYIndex(tile) > 0) 129 131 y1--; 130 if ( j< (numTilesY() - 1))132 if (tileYIndex(tile) < (numTilesY() - 1)) 131 133 y2++; 132 134 … … 137 139 } 138 140 139 FloatRect TilingData::tileBoundsNormalized(int i, int j) const140 { 141 assertTile( i, j);142 FloatRect bounds(tileBounds( i, j));141 FloatRect TilingData::tileBoundsNormalized(int tile) const 142 { 143 assertTile(tile); 144 FloatRect bounds(tileBounds(tile)); 143 145 bounds.scale(1.0f / m_totalSizeX, 1.0f / m_totalSizeY); 144 146 return bounds; … … 215 217 } 216 218 219 void TilingData::intersectDrawQuad(const FloatRect& srcRect, const FloatRect& dstRect, int tile, 220 FloatRect* newSrc, FloatRect* newDst) const 221 { 222 // Intersect with tile 223 FloatRect tileBounds = this->tileBounds(tile); 224 FloatRect srcRectIntersected = srcRect; 225 srcRectIntersected.intersect(tileBounds); 226 227 if (srcRectIntersected.isEmpty()) { 228 *newSrc = *newDst = FloatRect(0, 0, 0, 0); 229 return; 230 } 231 232 float srcRectIntersectedNormX = (srcRectIntersected.x() - srcRect.x()) / srcRect.width(); 233 float srcRectIntersectedNormY = (srcRectIntersected.y() - srcRect.y()) / srcRect.height(); 234 float srcRectIntersectedNormW = srcRectIntersected.width() / srcRect.width(); 235 float srcRectIntersectedNormH = srcRectIntersected.height() / srcRect.height(); 236 237 *newSrc = srcRectIntersected; 238 newSrc->move( 239 -tileBounds.x() + ((tileXIndex(tile) > 0) ? m_borderTexels : 0), 240 -tileBounds.y() + ((tileYIndex(tile) > 0) ? m_borderTexels : 0)); 241 242 *newDst = FloatRect( 243 srcRectIntersectedNormX * dstRect.width() + dstRect.x(), 244 srcRectIntersectedNormY * dstRect.height() + dstRect.y(), 245 srcRectIntersectedNormW * dstRect.width(), 246 srcRectIntersectedNormH * dstRect.height()); 247 } 248 217 249 IntPoint TilingData::textureOffset(int xIndex, int yIndex) const 218 250 { -
trunk/Source/WebCore/platform/graphics/gpu/TilingData.h
r112432 r112449 51 51 int borderTexels() const { return m_borderTexels; } 52 52 53 bool hasEmptyBounds() const { return !numTilesX() || !numTilesY(); }53 int numTiles() const { return numTilesX() * numTilesY(); } 54 54 int numTilesX() const { return m_numTilesX; } 55 55 int numTilesY() const { return m_numTilesY; } 56 int tileIndex(int x, int y) const { return x + y * numTilesX(); } 57 int tileXIndex(int tile) const { assertTile(tile); return tile % numTilesX(); } 58 int tileYIndex(int tile) const { assertTile(tile); return tile / numTilesX(); } 56 59 int tileXIndexFromSrcCoord(int) const; 57 60 int tileYIndexFromSrcCoord(int) const; 58 61 59 IntRect tileBounds(int , int) const;60 IntRect tileBoundsWithBorder(int , int) const;61 FloatRect tileBoundsNormalized(int , int) const;62 IntRect tileBounds(int tile) const; 63 IntRect tileBoundsWithBorder(int tile) const; 64 FloatRect tileBoundsNormalized(int tile) const; 62 65 int tilePositionX(int xIndex) const; 63 66 int tilePositionY(int yIndex) const; … … 67 70 IntRect overlappedTileIndices(const FloatRect& srcRect) const; 68 71 72 // Given a set of source and destination coordinates for a drawing quad 73 // in texel units, returns adjusted data to render just the one tile. 74 void intersectDrawQuad(const FloatRect& srcRect, const FloatRect& dstRect, int tile, FloatRect* newSrc, FloatRect* newDst) const; 75 69 76 // Difference between tileBound's and tileBoundWithBorder's location(). 70 77 IntPoint textureOffset(int xIndex, int yIndex) const; … … 72 79 private: 73 80 TilingData() : m_maxTextureSize(0), m_totalSizeX(0), m_totalSizeY(0) {} 74 void assertTile(int i, int j) const { ASSERT_UNUSED(i, i >= 0 && i < numTilesX()); ASSERT_UNUSED(j, j >= 0 && j < numTilesY()); }81 void assertTile(int tile) const { ASSERT_UNUSED(tile, tile >= 0 && tile < numTiles()); } 75 82 void recomputeNumTiles(); 76 83 -
trunk/Source/WebKit/chromium/ChangeLog
r112448 r112449 1 2012-03-28 Sheriff Bot <webkit.review.bot@gmail.com> 2 3 Unreviewed, rolling out r112432. 4 http://trac.webkit.org/changeset/112432 5 https://bugs.webkit.org/show_bug.cgi?id=82536 6 7 Causes ccs3 layout test asserts (Requested by enne on 8 #webkit). 9 10 * tests/TiledLayerChromiumTest.cpp: 11 * tests/TilingDataTest.cpp: 12 (WebCore::TEST): 13 1 14 2012-03-27 Daniel Cheng <dcheng@chromium.org> 2 15 -
trunk/Source/WebKit/chromium/tests/TiledLayerChromiumTest.cpp
r112432 r112449 1083 1083 } 1084 1084 1085 TEST(TiledLayerChromiumTest, hugeLayerUpdateCrash)1086 {1087 OwnPtr<TextureManager> textureManager = TextureManager::create(60*1024*1024, 60*1024*1024, 1024);1088 RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(textureManager.get()));1089 1090 int size = 1 << 30;1091 layer->setBounds(IntSize(size, size));1092 layer->invalidateRect(IntRect(0, 0, size, size));1093 1094 // Ensure no crash for bounds where size * size would overflow an int.1095 layer->prepareToUpdate(IntRect(0, 0, 700, 700), 0);1096 }1097 1098 1085 TEST(TiledLayerChromiumTest, partialUpdates) 1099 1086 { -
trunk/Source/WebKit/chromium/tests/TilingDataTest.cpp
r112432 r112449 39 39 namespace { 40 40 41 class TestTiling : public TilingData {42 public:43 TestTiling(int maxTextureSize, int totalSizeX, int totalSizeY, bool hasBorderTexels)44 : TilingData(maxTextureSize, totalSizeX, totalSizeY, hasBorderTexels)45 {46 }47 48 // This function only available for testing because of potential overflow.49 int numTiles() const50 {51 int numTiles = numTilesX() * numTilesY();52 53 // Assert no overflow.54 EXPECT_GE(numTiles, 0);55 if (numTiles > 0)56 EXPECT_EQ(numTiles / numTilesX(), numTilesY());57 58 return numTiles;59 }60 };61 62 41 TEST(TilingDataTest, numTiles_NoTiling) 63 42 { 64 EXPECT_EQ(1, T estTiling(16, 16, 16, false).numTiles());65 EXPECT_EQ(1, T estTiling(16, 15, 15, true).numTiles());66 EXPECT_EQ(1, T estTiling(16, 16, 16, true).numTiles());67 EXPECT_EQ(1, T estTiling(16, 1, 16, false).numTiles());68 EXPECT_EQ(1, T estTiling(15, 15, 15, true).numTiles());43 EXPECT_EQ(1, TilingData(16, 16, 16, false).numTiles()); 44 EXPECT_EQ(1, TilingData(16, 15, 15, true).numTiles()); 45 EXPECT_EQ(1, TilingData(16, 16, 16, true).numTiles()); 46 EXPECT_EQ(1, TilingData(16, 1, 16, false).numTiles()); 47 EXPECT_EQ(1, TilingData(15, 15, 15, true).numTiles()); 69 48 } 70 49 71 50 TEST(TilingDataTest, numTiles_TilingNoBorders) 72 51 { 73 EXPECT_EQ(0, T estTiling(0, 0, 0, false).numTiles());74 EXPECT_EQ(0, T estTiling(0, 4, 0, false).numTiles());75 EXPECT_EQ(0, T estTiling(0, 0, 4, false).numTiles());76 EXPECT_EQ(0, T estTiling(4, 4, 0, false).numTiles());77 EXPECT_EQ(0, T estTiling(4, 0, 4, false).numTiles());78 EXPECT_EQ(0, T estTiling(-8, 1, 1, false).numTiles());79 EXPECT_EQ(0, T estTiling(-1, 1, 1, false).numTiles());80 EXPECT_EQ(0, T estTiling(0, 1, 1, false).numTiles());81 82 EXPECT_EQ(1, T estTiling(1, 1, 1, false).numTiles());83 EXPECT_EQ(2, T estTiling(1, 1, 2, false).numTiles());84 EXPECT_EQ(2, T estTiling(1, 2, 1, false).numTiles());85 EXPECT_EQ(1, T estTiling(2, 1, 1, false).numTiles());86 EXPECT_EQ(1, T estTiling(2, 1, 2, false).numTiles());87 EXPECT_EQ(1, T estTiling(2, 2, 1, false).numTiles());88 EXPECT_EQ(1, T estTiling(2, 2, 2, false).numTiles());89 EXPECT_EQ(1, T estTiling(3, 3, 3, false).numTiles());90 91 EXPECT_EQ(1, T estTiling(4, 1, 4, false).numTiles());92 EXPECT_EQ(1, T estTiling(4, 2, 4, false).numTiles());93 EXPECT_EQ(1, T estTiling(4, 3, 4, false).numTiles());94 EXPECT_EQ(1, T estTiling(4, 4, 4, false).numTiles());95 EXPECT_EQ(2, T estTiling(4, 5, 4, false).numTiles());96 EXPECT_EQ(2, T estTiling(4, 6, 4, false).numTiles());97 EXPECT_EQ(2, T estTiling(4, 7, 4, false).numTiles());98 EXPECT_EQ(2, T estTiling(4, 8, 4, false).numTiles());99 EXPECT_EQ(3, T estTiling(4, 9, 4, false).numTiles());100 EXPECT_EQ(3, T estTiling(4, 10, 4, false).numTiles());101 EXPECT_EQ(3, T estTiling(4, 11, 4, false).numTiles());102 103 EXPECT_EQ(1, T estTiling(5, 1, 5, false).numTiles());104 EXPECT_EQ(1, T estTiling(5, 2, 5, false).numTiles());105 EXPECT_EQ(1, T estTiling(5, 3, 5, false).numTiles());106 EXPECT_EQ(1, T estTiling(5, 4, 5, false).numTiles());107 EXPECT_EQ(1, T estTiling(5, 5, 5, false).numTiles());108 EXPECT_EQ(2, T estTiling(5, 6, 5, false).numTiles());109 EXPECT_EQ(2, T estTiling(5, 7, 5, false).numTiles());110 EXPECT_EQ(2, T estTiling(5, 8, 5, false).numTiles());111 EXPECT_EQ(2, T estTiling(5, 9, 5, false).numTiles());112 EXPECT_EQ(2, T estTiling(5, 10, 5, false).numTiles());113 EXPECT_EQ(3, T estTiling(5, 11, 5, false).numTiles());114 115 EXPECT_EQ(1, T estTiling(16, 16, 16, false).numTiles());116 EXPECT_EQ(1, T estTiling(17, 16, 16, false).numTiles());117 EXPECT_EQ(4, T estTiling(15, 16, 16, false).numTiles());118 EXPECT_EQ(4, T estTiling(8, 16, 16, false).numTiles());119 EXPECT_EQ(6, T estTiling(8, 17, 16, false).numTiles());52 EXPECT_EQ(0, TilingData(0, 0, 0, false).numTiles()); 53 EXPECT_EQ(0, TilingData(0, 4, 0, false).numTiles()); 54 EXPECT_EQ(0, TilingData(0, 0, 4, false).numTiles()); 55 EXPECT_EQ(0, TilingData(4, 4, 0, false).numTiles()); 56 EXPECT_EQ(0, TilingData(4, 0, 4, false).numTiles()); 57 EXPECT_EQ(0, TilingData(-8, 1, 1, false).numTiles()); 58 EXPECT_EQ(0, TilingData(-1, 1, 1, false).numTiles()); 59 EXPECT_EQ(0, TilingData(0, 1, 1, false).numTiles()); 60 61 EXPECT_EQ(1, TilingData(1, 1, 1, false).numTiles()); 62 EXPECT_EQ(2, TilingData(1, 1, 2, false).numTiles()); 63 EXPECT_EQ(2, TilingData(1, 2, 1, false).numTiles()); 64 EXPECT_EQ(1, TilingData(2, 1, 1, false).numTiles()); 65 EXPECT_EQ(1, TilingData(2, 1, 2, false).numTiles()); 66 EXPECT_EQ(1, TilingData(2, 2, 1, false).numTiles()); 67 EXPECT_EQ(1, TilingData(2, 2, 2, false).numTiles()); 68 EXPECT_EQ(1, TilingData(3, 3, 3, false).numTiles()); 69 70 EXPECT_EQ(1, TilingData(4, 1, 4, false).numTiles()); 71 EXPECT_EQ(1, TilingData(4, 2, 4, false).numTiles()); 72 EXPECT_EQ(1, TilingData(4, 3, 4, false).numTiles()); 73 EXPECT_EQ(1, TilingData(4, 4, 4, false).numTiles()); 74 EXPECT_EQ(2, TilingData(4, 5, 4, false).numTiles()); 75 EXPECT_EQ(2, TilingData(4, 6, 4, false).numTiles()); 76 EXPECT_EQ(2, TilingData(4, 7, 4, false).numTiles()); 77 EXPECT_EQ(2, TilingData(4, 8, 4, false).numTiles()); 78 EXPECT_EQ(3, TilingData(4, 9, 4, false).numTiles()); 79 EXPECT_EQ(3, TilingData(4, 10, 4, false).numTiles()); 80 EXPECT_EQ(3, TilingData(4, 11, 4, false).numTiles()); 81 82 EXPECT_EQ(1, TilingData(5, 1, 5, false).numTiles()); 83 EXPECT_EQ(1, TilingData(5, 2, 5, false).numTiles()); 84 EXPECT_EQ(1, TilingData(5, 3, 5, false).numTiles()); 85 EXPECT_EQ(1, TilingData(5, 4, 5, false).numTiles()); 86 EXPECT_EQ(1, TilingData(5, 5, 5, false).numTiles()); 87 EXPECT_EQ(2, TilingData(5, 6, 5, false).numTiles()); 88 EXPECT_EQ(2, TilingData(5, 7, 5, false).numTiles()); 89 EXPECT_EQ(2, TilingData(5, 8, 5, false).numTiles()); 90 EXPECT_EQ(2, TilingData(5, 9, 5, false).numTiles()); 91 EXPECT_EQ(2, TilingData(5, 10, 5, false).numTiles()); 92 EXPECT_EQ(3, TilingData(5, 11, 5, false).numTiles()); 93 94 EXPECT_EQ(1, TilingData(16, 16, 16, false).numTiles()); 95 EXPECT_EQ(1, TilingData(17, 16, 16, false).numTiles()); 96 EXPECT_EQ(4, TilingData(15, 16, 16, false).numTiles()); 97 EXPECT_EQ(4, TilingData(8, 16, 16, false).numTiles()); 98 EXPECT_EQ(6, TilingData(8, 17, 16, false).numTiles()); 120 99 } 121 100 122 101 TEST(TilingDataTest, numTiles_TilingWithBorders) 123 102 { 124 EXPECT_EQ(0, T estTiling(0, 0, 0, true).numTiles());125 EXPECT_EQ(0, T estTiling(0, 4, 0, true).numTiles());126 EXPECT_EQ(0, T estTiling(0, 0, 4, true).numTiles());127 EXPECT_EQ(0, T estTiling(4, 4, 0, true).numTiles());128 EXPECT_EQ(0, T estTiling(4, 0, 4, true).numTiles());129 EXPECT_EQ(0, T estTiling(-8, 1, 1, true).numTiles());130 EXPECT_EQ(0, T estTiling(-1, 1, 1, true).numTiles());131 EXPECT_EQ(0, T estTiling(0, 1, 1, true).numTiles());132 133 EXPECT_EQ(1, T estTiling(1, 1, 1, true).numTiles());134 EXPECT_EQ(0, T estTiling(1, 1, 2, true).numTiles());135 EXPECT_EQ(0, T estTiling(1, 2, 1, true).numTiles());136 EXPECT_EQ(1, T estTiling(2, 1, 1, true).numTiles());137 EXPECT_EQ(1, T estTiling(2, 1, 2, true).numTiles());138 EXPECT_EQ(1, T estTiling(2, 2, 1, true).numTiles());139 EXPECT_EQ(1, T estTiling(2, 2, 2, true).numTiles());140 141 EXPECT_EQ(1, T estTiling(3, 1, 3, true).numTiles());142 EXPECT_EQ(1, T estTiling(3, 2, 3, true).numTiles());143 EXPECT_EQ(1, T estTiling(3, 3, 3, true).numTiles());144 EXPECT_EQ(2, T estTiling(3, 4, 3, true).numTiles());145 EXPECT_EQ(3, T estTiling(3, 5, 3, true).numTiles());146 EXPECT_EQ(4, T estTiling(3, 6, 3, true).numTiles());147 EXPECT_EQ(5, T estTiling(3, 7, 3, true).numTiles());148 149 EXPECT_EQ(1, T estTiling(4, 1, 4, true).numTiles());150 EXPECT_EQ(1, T estTiling(4, 2, 4, true).numTiles());151 EXPECT_EQ(1, T estTiling(4, 3, 4, true).numTiles());152 EXPECT_EQ(1, T estTiling(4, 4, 4, true).numTiles());153 EXPECT_EQ(2, T estTiling(4, 5, 4, true).numTiles());154 EXPECT_EQ(2, T estTiling(4, 6, 4, true).numTiles());155 EXPECT_EQ(3, T estTiling(4, 7, 4, true).numTiles());156 EXPECT_EQ(3, T estTiling(4, 8, 4, true).numTiles());157 EXPECT_EQ(4, T estTiling(4, 9, 4, true).numTiles());158 EXPECT_EQ(4, T estTiling(4, 10, 4, true).numTiles());159 EXPECT_EQ(5, T estTiling(4, 11, 4, true).numTiles());160 161 EXPECT_EQ(1, T estTiling(5, 1, 5, true).numTiles());162 EXPECT_EQ(1, T estTiling(5, 2, 5, true).numTiles());163 EXPECT_EQ(1, T estTiling(5, 3, 5, true).numTiles());164 EXPECT_EQ(1, T estTiling(5, 4, 5, true).numTiles());165 EXPECT_EQ(1, T estTiling(5, 5, 5, true).numTiles());166 EXPECT_EQ(2, T estTiling(5, 6, 5, true).numTiles());167 EXPECT_EQ(2, T estTiling(5, 7, 5, true).numTiles());168 EXPECT_EQ(2, T estTiling(5, 8, 5, true).numTiles());169 EXPECT_EQ(3, T estTiling(5, 9, 5, true).numTiles());170 EXPECT_EQ(3, T estTiling(5, 10, 5, true).numTiles());171 EXPECT_EQ(3, T estTiling(5, 11, 5, true).numTiles());103 EXPECT_EQ(0, TilingData(0, 0, 0, true).numTiles()); 104 EXPECT_EQ(0, TilingData(0, 4, 0, true).numTiles()); 105 EXPECT_EQ(0, TilingData(0, 0, 4, true).numTiles()); 106 EXPECT_EQ(0, TilingData(4, 4, 0, true).numTiles()); 107 EXPECT_EQ(0, TilingData(4, 0, 4, true).numTiles()); 108 EXPECT_EQ(0, TilingData(-8, 1, 1, true).numTiles()); 109 EXPECT_EQ(0, TilingData(-1, 1, 1, true).numTiles()); 110 EXPECT_EQ(0, TilingData(0, 1, 1, true).numTiles()); 111 112 EXPECT_EQ(1, TilingData(1, 1, 1, true).numTiles()); 113 EXPECT_EQ(0, TilingData(1, 1, 2, true).numTiles()); 114 EXPECT_EQ(0, TilingData(1, 2, 1, true).numTiles()); 115 EXPECT_EQ(1, TilingData(2, 1, 1, true).numTiles()); 116 EXPECT_EQ(1, TilingData(2, 1, 2, true).numTiles()); 117 EXPECT_EQ(1, TilingData(2, 2, 1, true).numTiles()); 118 EXPECT_EQ(1, TilingData(2, 2, 2, true).numTiles()); 119 120 EXPECT_EQ(1, TilingData(3, 1, 3, true).numTiles()); 121 EXPECT_EQ(1, TilingData(3, 2, 3, true).numTiles()); 122 EXPECT_EQ(1, TilingData(3, 3, 3, true).numTiles()); 123 EXPECT_EQ(2, TilingData(3, 4, 3, true).numTiles()); 124 EXPECT_EQ(3, TilingData(3, 5, 3, true).numTiles()); 125 EXPECT_EQ(4, TilingData(3, 6, 3, true).numTiles()); 126 EXPECT_EQ(5, TilingData(3, 7, 3, true).numTiles()); 127 128 EXPECT_EQ(1, TilingData(4, 1, 4, true).numTiles()); 129 EXPECT_EQ(1, TilingData(4, 2, 4, true).numTiles()); 130 EXPECT_EQ(1, TilingData(4, 3, 4, true).numTiles()); 131 EXPECT_EQ(1, TilingData(4, 4, 4, true).numTiles()); 132 EXPECT_EQ(2, TilingData(4, 5, 4, true).numTiles()); 133 EXPECT_EQ(2, TilingData(4, 6, 4, true).numTiles()); 134 EXPECT_EQ(3, TilingData(4, 7, 4, true).numTiles()); 135 EXPECT_EQ(3, TilingData(4, 8, 4, true).numTiles()); 136 EXPECT_EQ(4, TilingData(4, 9, 4, true).numTiles()); 137 EXPECT_EQ(4, TilingData(4, 10, 4, true).numTiles()); 138 EXPECT_EQ(5, TilingData(4, 11, 4, true).numTiles()); 139 140 EXPECT_EQ(1, TilingData(5, 1, 5, true).numTiles()); 141 EXPECT_EQ(1, TilingData(5, 2, 5, true).numTiles()); 142 EXPECT_EQ(1, TilingData(5, 3, 5, true).numTiles()); 143 EXPECT_EQ(1, TilingData(5, 4, 5, true).numTiles()); 144 EXPECT_EQ(1, TilingData(5, 5, 5, true).numTiles()); 145 EXPECT_EQ(2, TilingData(5, 6, 5, true).numTiles()); 146 EXPECT_EQ(2, TilingData(5, 7, 5, true).numTiles()); 147 EXPECT_EQ(2, TilingData(5, 8, 5, true).numTiles()); 148 EXPECT_EQ(3, TilingData(5, 9, 5, true).numTiles()); 149 EXPECT_EQ(3, TilingData(5, 10, 5, true).numTiles()); 150 EXPECT_EQ(3, TilingData(5, 11, 5, true).numTiles()); 172 151 } 173 152 174 153 TEST(TilingDataTest, tileXIndexFromSrcCoord) 175 154 { 176 EXPECT_EQ(0, T estTiling(3, 10, 10, false).tileXIndexFromSrcCoord(0));177 EXPECT_EQ(0, T estTiling(3, 10, 10, false).tileXIndexFromSrcCoord(1));178 EXPECT_EQ(0, T estTiling(3, 10, 10, false).tileXIndexFromSrcCoord(2));179 EXPECT_EQ(1, T estTiling(3, 10, 10, false).tileXIndexFromSrcCoord(3));180 EXPECT_EQ(1, T estTiling(3, 10, 10, false).tileXIndexFromSrcCoord(4));181 EXPECT_EQ(1, T estTiling(3, 10, 10, false).tileXIndexFromSrcCoord(5));182 EXPECT_EQ(2, T estTiling(3, 10, 10, false).tileXIndexFromSrcCoord(6));183 EXPECT_EQ(2, T estTiling(3, 10, 10, false).tileXIndexFromSrcCoord(7));184 EXPECT_EQ(2, T estTiling(3, 10, 10, false).tileXIndexFromSrcCoord(8));185 EXPECT_EQ(3, T estTiling(3, 10, 10, false).tileXIndexFromSrcCoord(9));186 EXPECT_EQ(3, T estTiling(3, 10, 10, false).tileXIndexFromSrcCoord(10));187 EXPECT_EQ(3, T estTiling(3, 10, 10, false).tileXIndexFromSrcCoord(11));188 189 EXPECT_EQ(0, T estTiling(3, 10, 10, true).tileXIndexFromSrcCoord(0));190 EXPECT_EQ(0, T estTiling(3, 10, 10, true).tileXIndexFromSrcCoord(1));191 EXPECT_EQ(1, T estTiling(3, 10, 10, true).tileXIndexFromSrcCoord(2));192 EXPECT_EQ(2, T estTiling(3, 10, 10, true).tileXIndexFromSrcCoord(3));193 EXPECT_EQ(3, T estTiling(3, 10, 10, true).tileXIndexFromSrcCoord(4));194 EXPECT_EQ(4, T estTiling(3, 10, 10, true).tileXIndexFromSrcCoord(5));195 EXPECT_EQ(5, T estTiling(3, 10, 10, true).tileXIndexFromSrcCoord(6));196 EXPECT_EQ(6, T estTiling(3, 10, 10, true).tileXIndexFromSrcCoord(7));197 EXPECT_EQ(7, T estTiling(3, 10, 10, true).tileXIndexFromSrcCoord(8));198 EXPECT_EQ(7, T estTiling(3, 10, 10, true).tileXIndexFromSrcCoord(9));199 EXPECT_EQ(7, T estTiling(3, 10, 10, true).tileXIndexFromSrcCoord(10));200 EXPECT_EQ(7, T estTiling(3, 10, 10, true).tileXIndexFromSrcCoord(11));201 202 EXPECT_EQ(0, T estTiling(1, 1, 1, false).tileXIndexFromSrcCoord(0));203 EXPECT_EQ(0, T estTiling(2, 2, 2, false).tileXIndexFromSrcCoord(0));204 EXPECT_EQ(0, T estTiling(2, 2, 2, false).tileXIndexFromSrcCoord(1));205 EXPECT_EQ(0, T estTiling(3, 3, 3, false).tileXIndexFromSrcCoord(0));206 EXPECT_EQ(0, T estTiling(3, 3, 3, false).tileXIndexFromSrcCoord(1));207 EXPECT_EQ(0, T estTiling(3, 3, 3, false).tileXIndexFromSrcCoord(2));208 209 EXPECT_EQ(0, T estTiling(3, 4, 3, false).tileXIndexFromSrcCoord(0));210 EXPECT_EQ(0, T estTiling(3, 4, 3, false).tileXIndexFromSrcCoord(1));211 EXPECT_EQ(0, T estTiling(3, 4, 3, false).tileXIndexFromSrcCoord(2));212 EXPECT_EQ(1, T estTiling(3, 4, 3, false).tileXIndexFromSrcCoord(3));213 214 EXPECT_EQ(0, T estTiling(1, 1, 1, true).tileXIndexFromSrcCoord(0));215 EXPECT_EQ(0, T estTiling(2, 2, 2, true).tileXIndexFromSrcCoord(0));216 EXPECT_EQ(0, T estTiling(2, 2, 2, true).tileXIndexFromSrcCoord(1));217 EXPECT_EQ(0, T estTiling(3, 3, 3, true).tileXIndexFromSrcCoord(0));218 EXPECT_EQ(0, T estTiling(3, 3, 3, true).tileXIndexFromSrcCoord(1));219 EXPECT_EQ(0, T estTiling(3, 3, 3, true).tileXIndexFromSrcCoord(2));220 221 EXPECT_EQ(0, T estTiling(3, 4, 3, true).tileXIndexFromSrcCoord(0));222 EXPECT_EQ(0, T estTiling(3, 4, 3, true).tileXIndexFromSrcCoord(1));223 EXPECT_EQ(1, T estTiling(3, 4, 3, true).tileXIndexFromSrcCoord(2));224 EXPECT_EQ(1, T estTiling(3, 4, 3, true).tileXIndexFromSrcCoord(3));155 EXPECT_EQ(0, TilingData(3, 10, 10, false).tileXIndexFromSrcCoord(0)); 156 EXPECT_EQ(0, TilingData(3, 10, 10, false).tileXIndexFromSrcCoord(1)); 157 EXPECT_EQ(0, TilingData(3, 10, 10, false).tileXIndexFromSrcCoord(2)); 158 EXPECT_EQ(1, TilingData(3, 10, 10, false).tileXIndexFromSrcCoord(3)); 159 EXPECT_EQ(1, TilingData(3, 10, 10, false).tileXIndexFromSrcCoord(4)); 160 EXPECT_EQ(1, TilingData(3, 10, 10, false).tileXIndexFromSrcCoord(5)); 161 EXPECT_EQ(2, TilingData(3, 10, 10, false).tileXIndexFromSrcCoord(6)); 162 EXPECT_EQ(2, TilingData(3, 10, 10, false).tileXIndexFromSrcCoord(7)); 163 EXPECT_EQ(2, TilingData(3, 10, 10, false).tileXIndexFromSrcCoord(8)); 164 EXPECT_EQ(3, TilingData(3, 10, 10, false).tileXIndexFromSrcCoord(9)); 165 EXPECT_EQ(3, TilingData(3, 10, 10, false).tileXIndexFromSrcCoord(10)); 166 EXPECT_EQ(3, TilingData(3, 10, 10, false).tileXIndexFromSrcCoord(11)); 167 168 EXPECT_EQ(0, TilingData(3, 10, 10, true).tileXIndexFromSrcCoord(0)); 169 EXPECT_EQ(0, TilingData(3, 10, 10, true).tileXIndexFromSrcCoord(1)); 170 EXPECT_EQ(1, TilingData(3, 10, 10, true).tileXIndexFromSrcCoord(2)); 171 EXPECT_EQ(2, TilingData(3, 10, 10, true).tileXIndexFromSrcCoord(3)); 172 EXPECT_EQ(3, TilingData(3, 10, 10, true).tileXIndexFromSrcCoord(4)); 173 EXPECT_EQ(4, TilingData(3, 10, 10, true).tileXIndexFromSrcCoord(5)); 174 EXPECT_EQ(5, TilingData(3, 10, 10, true).tileXIndexFromSrcCoord(6)); 175 EXPECT_EQ(6, TilingData(3, 10, 10, true).tileXIndexFromSrcCoord(7)); 176 EXPECT_EQ(7, TilingData(3, 10, 10, true).tileXIndexFromSrcCoord(8)); 177 EXPECT_EQ(7, TilingData(3, 10, 10, true).tileXIndexFromSrcCoord(9)); 178 EXPECT_EQ(7, TilingData(3, 10, 10, true).tileXIndexFromSrcCoord(10)); 179 EXPECT_EQ(7, TilingData(3, 10, 10, true).tileXIndexFromSrcCoord(11)); 180 181 EXPECT_EQ(0, TilingData(1, 1, 1, false).tileXIndexFromSrcCoord(0)); 182 EXPECT_EQ(0, TilingData(2, 2, 2, false).tileXIndexFromSrcCoord(0)); 183 EXPECT_EQ(0, TilingData(2, 2, 2, false).tileXIndexFromSrcCoord(1)); 184 EXPECT_EQ(0, TilingData(3, 3, 3, false).tileXIndexFromSrcCoord(0)); 185 EXPECT_EQ(0, TilingData(3, 3, 3, false).tileXIndexFromSrcCoord(1)); 186 EXPECT_EQ(0, TilingData(3, 3, 3, false).tileXIndexFromSrcCoord(2)); 187 188 EXPECT_EQ(0, TilingData(3, 4, 3, false).tileXIndexFromSrcCoord(0)); 189 EXPECT_EQ(0, TilingData(3, 4, 3, false).tileXIndexFromSrcCoord(1)); 190 EXPECT_EQ(0, TilingData(3, 4, 3, false).tileXIndexFromSrcCoord(2)); 191 EXPECT_EQ(1, TilingData(3, 4, 3, false).tileXIndexFromSrcCoord(3)); 192 193 EXPECT_EQ(0, TilingData(1, 1, 1, true).tileXIndexFromSrcCoord(0)); 194 EXPECT_EQ(0, TilingData(2, 2, 2, true).tileXIndexFromSrcCoord(0)); 195 EXPECT_EQ(0, TilingData(2, 2, 2, true).tileXIndexFromSrcCoord(1)); 196 EXPECT_EQ(0, TilingData(3, 3, 3, true).tileXIndexFromSrcCoord(0)); 197 EXPECT_EQ(0, TilingData(3, 3, 3, true).tileXIndexFromSrcCoord(1)); 198 EXPECT_EQ(0, TilingData(3, 3, 3, true).tileXIndexFromSrcCoord(2)); 199 200 EXPECT_EQ(0, TilingData(3, 4, 3, true).tileXIndexFromSrcCoord(0)); 201 EXPECT_EQ(0, TilingData(3, 4, 3, true).tileXIndexFromSrcCoord(1)); 202 EXPECT_EQ(1, TilingData(3, 4, 3, true).tileXIndexFromSrcCoord(2)); 203 EXPECT_EQ(1, TilingData(3, 4, 3, true).tileXIndexFromSrcCoord(3)); 225 204 } 226 205 TEST(TilingDataTest, tileYIndexFromSrcCoord) 227 206 { 228 EXPECT_EQ(0, T estTiling(3, 10, 10, false).tileYIndexFromSrcCoord(0));229 EXPECT_EQ(0, T estTiling(3, 10, 10, false).tileYIndexFromSrcCoord(1));230 EXPECT_EQ(0, T estTiling(3, 10, 10, false).tileYIndexFromSrcCoord(2));231 EXPECT_EQ(1, T estTiling(3, 10, 10, false).tileYIndexFromSrcCoord(3));232 EXPECT_EQ(1, T estTiling(3, 10, 10, false).tileYIndexFromSrcCoord(4));233 EXPECT_EQ(1, T estTiling(3, 10, 10, false).tileYIndexFromSrcCoord(5));234 EXPECT_EQ(2, T estTiling(3, 10, 10, false).tileYIndexFromSrcCoord(6));235 EXPECT_EQ(2, T estTiling(3, 10, 10, false).tileYIndexFromSrcCoord(7));236 EXPECT_EQ(2, T estTiling(3, 10, 10, false).tileYIndexFromSrcCoord(8));237 EXPECT_EQ(3, T estTiling(3, 10, 10, false).tileYIndexFromSrcCoord(9));238 EXPECT_EQ(3, T estTiling(3, 10, 10, false).tileYIndexFromSrcCoord(10));239 EXPECT_EQ(3, T estTiling(3, 10, 10, false).tileYIndexFromSrcCoord(11));240 241 EXPECT_EQ(0, T estTiling(3, 10, 10, true).tileYIndexFromSrcCoord(0));242 EXPECT_EQ(0, T estTiling(3, 10, 10, true).tileYIndexFromSrcCoord(1));243 EXPECT_EQ(1, T estTiling(3, 10, 10, true).tileYIndexFromSrcCoord(2));244 EXPECT_EQ(2, T estTiling(3, 10, 10, true).tileYIndexFromSrcCoord(3));245 EXPECT_EQ(3, T estTiling(3, 10, 10, true).tileYIndexFromSrcCoord(4));246 EXPECT_EQ(4, T estTiling(3, 10, 10, true).tileYIndexFromSrcCoord(5));247 EXPECT_EQ(5, T estTiling(3, 10, 10, true).tileYIndexFromSrcCoord(6));248 EXPECT_EQ(6, T estTiling(3, 10, 10, true).tileYIndexFromSrcCoord(7));249 EXPECT_EQ(7, T estTiling(3, 10, 10, true).tileYIndexFromSrcCoord(8));250 EXPECT_EQ(7, T estTiling(3, 10, 10, true).tileYIndexFromSrcCoord(9));251 EXPECT_EQ(7, T estTiling(3, 10, 10, true).tileYIndexFromSrcCoord(10));252 EXPECT_EQ(7, T estTiling(3, 10, 10, true).tileYIndexFromSrcCoord(11));253 254 EXPECT_EQ(0, T estTiling(1, 1, 1, false).tileYIndexFromSrcCoord(0));255 EXPECT_EQ(0, T estTiling(2, 2, 2, false).tileYIndexFromSrcCoord(0));256 EXPECT_EQ(0, T estTiling(2, 2, 2, false).tileYIndexFromSrcCoord(1));257 EXPECT_EQ(0, T estTiling(3, 3, 3, false).tileYIndexFromSrcCoord(0));258 EXPECT_EQ(0, T estTiling(3, 3, 3, false).tileYIndexFromSrcCoord(1));259 EXPECT_EQ(0, T estTiling(3, 3, 3, false).tileYIndexFromSrcCoord(2));260 261 EXPECT_EQ(0, T estTiling(3, 3, 4, false).tileYIndexFromSrcCoord(0));262 EXPECT_EQ(0, T estTiling(3, 3, 4, false).tileYIndexFromSrcCoord(1));263 EXPECT_EQ(0, T estTiling(3, 3, 4, false).tileYIndexFromSrcCoord(2));264 EXPECT_EQ(1, T estTiling(3, 3, 4, false).tileYIndexFromSrcCoord(3));265 266 EXPECT_EQ(0, T estTiling(1, 1, 1, true).tileYIndexFromSrcCoord(0));267 EXPECT_EQ(0, T estTiling(2, 2, 2, true).tileYIndexFromSrcCoord(0));268 EXPECT_EQ(0, T estTiling(2, 2, 2, true).tileYIndexFromSrcCoord(1));269 EXPECT_EQ(0, T estTiling(3, 3, 3, true).tileYIndexFromSrcCoord(0));270 EXPECT_EQ(0, T estTiling(3, 3, 3, true).tileYIndexFromSrcCoord(1));271 EXPECT_EQ(0, T estTiling(3, 3, 3, true).tileYIndexFromSrcCoord(2));272 273 EXPECT_EQ(0, T estTiling(3, 3, 4, true).tileYIndexFromSrcCoord(0));274 EXPECT_EQ(0, T estTiling(3, 3, 4, true).tileYIndexFromSrcCoord(1));275 EXPECT_EQ(1, T estTiling(3, 3, 4, true).tileYIndexFromSrcCoord(2));276 EXPECT_EQ(1, T estTiling(3, 3, 4, true).tileYIndexFromSrcCoord(3));207 EXPECT_EQ(0, TilingData(3, 10, 10, false).tileYIndexFromSrcCoord(0)); 208 EXPECT_EQ(0, TilingData(3, 10, 10, false).tileYIndexFromSrcCoord(1)); 209 EXPECT_EQ(0, TilingData(3, 10, 10, false).tileYIndexFromSrcCoord(2)); 210 EXPECT_EQ(1, TilingData(3, 10, 10, false).tileYIndexFromSrcCoord(3)); 211 EXPECT_EQ(1, TilingData(3, 10, 10, false).tileYIndexFromSrcCoord(4)); 212 EXPECT_EQ(1, TilingData(3, 10, 10, false).tileYIndexFromSrcCoord(5)); 213 EXPECT_EQ(2, TilingData(3, 10, 10, false).tileYIndexFromSrcCoord(6)); 214 EXPECT_EQ(2, TilingData(3, 10, 10, false).tileYIndexFromSrcCoord(7)); 215 EXPECT_EQ(2, TilingData(3, 10, 10, false).tileYIndexFromSrcCoord(8)); 216 EXPECT_EQ(3, TilingData(3, 10, 10, false).tileYIndexFromSrcCoord(9)); 217 EXPECT_EQ(3, TilingData(3, 10, 10, false).tileYIndexFromSrcCoord(10)); 218 EXPECT_EQ(3, TilingData(3, 10, 10, false).tileYIndexFromSrcCoord(11)); 219 220 EXPECT_EQ(0, TilingData(3, 10, 10, true).tileYIndexFromSrcCoord(0)); 221 EXPECT_EQ(0, TilingData(3, 10, 10, true).tileYIndexFromSrcCoord(1)); 222 EXPECT_EQ(1, TilingData(3, 10, 10, true).tileYIndexFromSrcCoord(2)); 223 EXPECT_EQ(2, TilingData(3, 10, 10, true).tileYIndexFromSrcCoord(3)); 224 EXPECT_EQ(3, TilingData(3, 10, 10, true).tileYIndexFromSrcCoord(4)); 225 EXPECT_EQ(4, TilingData(3, 10, 10, true).tileYIndexFromSrcCoord(5)); 226 EXPECT_EQ(5, TilingData(3, 10, 10, true).tileYIndexFromSrcCoord(6)); 227 EXPECT_EQ(6, TilingData(3, 10, 10, true).tileYIndexFromSrcCoord(7)); 228 EXPECT_EQ(7, TilingData(3, 10, 10, true).tileYIndexFromSrcCoord(8)); 229 EXPECT_EQ(7, TilingData(3, 10, 10, true).tileYIndexFromSrcCoord(9)); 230 EXPECT_EQ(7, TilingData(3, 10, 10, true).tileYIndexFromSrcCoord(10)); 231 EXPECT_EQ(7, TilingData(3, 10, 10, true).tileYIndexFromSrcCoord(11)); 232 233 EXPECT_EQ(0, TilingData(1, 1, 1, false).tileYIndexFromSrcCoord(0)); 234 EXPECT_EQ(0, TilingData(2, 2, 2, false).tileYIndexFromSrcCoord(0)); 235 EXPECT_EQ(0, TilingData(2, 2, 2, false).tileYIndexFromSrcCoord(1)); 236 EXPECT_EQ(0, TilingData(3, 3, 3, false).tileYIndexFromSrcCoord(0)); 237 EXPECT_EQ(0, TilingData(3, 3, 3, false).tileYIndexFromSrcCoord(1)); 238 EXPECT_EQ(0, TilingData(3, 3, 3, false).tileYIndexFromSrcCoord(2)); 239 240 EXPECT_EQ(0, TilingData(3, 3, 4, false).tileYIndexFromSrcCoord(0)); 241 EXPECT_EQ(0, TilingData(3, 3, 4, false).tileYIndexFromSrcCoord(1)); 242 EXPECT_EQ(0, TilingData(3, 3, 4, false).tileYIndexFromSrcCoord(2)); 243 EXPECT_EQ(1, TilingData(3, 3, 4, false).tileYIndexFromSrcCoord(3)); 244 245 EXPECT_EQ(0, TilingData(1, 1, 1, true).tileYIndexFromSrcCoord(0)); 246 EXPECT_EQ(0, TilingData(2, 2, 2, true).tileYIndexFromSrcCoord(0)); 247 EXPECT_EQ(0, TilingData(2, 2, 2, true).tileYIndexFromSrcCoord(1)); 248 EXPECT_EQ(0, TilingData(3, 3, 3, true).tileYIndexFromSrcCoord(0)); 249 EXPECT_EQ(0, TilingData(3, 3, 3, true).tileYIndexFromSrcCoord(1)); 250 EXPECT_EQ(0, TilingData(3, 3, 3, true).tileYIndexFromSrcCoord(2)); 251 252 EXPECT_EQ(0, TilingData(3, 3, 4, true).tileYIndexFromSrcCoord(0)); 253 EXPECT_EQ(0, TilingData(3, 3, 4, true).tileYIndexFromSrcCoord(1)); 254 EXPECT_EQ(1, TilingData(3, 3, 4, true).tileYIndexFromSrcCoord(2)); 255 EXPECT_EQ(1, TilingData(3, 3, 4, true).tileYIndexFromSrcCoord(3)); 277 256 } 278 257 279 258 TEST(TilingDataTest, tileSizeX) 280 259 { 281 EXPECT_EQ(5, T estTiling(5, 5, 5, false).tileSizeX(0));282 EXPECT_EQ(5, T estTiling(5, 5, 5, true).tileSizeX(0));283 284 EXPECT_EQ(5, T estTiling(5, 6, 6, false).tileSizeX(0));285 EXPECT_EQ(1, T estTiling(5, 6, 6, false).tileSizeX(1));286 EXPECT_EQ(4, T estTiling(5, 6, 6, true).tileSizeX(0));287 EXPECT_EQ(2, T estTiling(5, 6, 6, true).tileSizeX(1));288 289 EXPECT_EQ(5, T estTiling(5, 8, 8, false).tileSizeX(0));290 EXPECT_EQ(3, T estTiling(5, 8, 8, false).tileSizeX(1));291 EXPECT_EQ(4, T estTiling(5, 8, 8, true).tileSizeX(0));292 EXPECT_EQ(4, T estTiling(5, 8, 8, true).tileSizeX(1));293 294 EXPECT_EQ(5, T estTiling(5, 10, 10, false).tileSizeX(0));295 EXPECT_EQ(5, T estTiling(5, 10, 10, false).tileSizeX(1));296 EXPECT_EQ(4, T estTiling(5, 10, 10, true).tileSizeX(0));297 EXPECT_EQ(3, T estTiling(5, 10, 10, true).tileSizeX(1));298 EXPECT_EQ(3, T estTiling(5, 10, 10, true).tileSizeX(2));299 300 EXPECT_EQ(4, T estTiling(5, 11, 11, true).tileSizeX(2));301 EXPECT_EQ(3, T estTiling(5, 12, 12, true).tileSizeX(2));260 EXPECT_EQ(5, TilingData(5, 5, 5, false).tileSizeX(0)); 261 EXPECT_EQ(5, TilingData(5, 5, 5, true).tileSizeX(0)); 262 263 EXPECT_EQ(5, TilingData(5, 6, 6, false).tileSizeX(0)); 264 EXPECT_EQ(1, TilingData(5, 6, 6, false).tileSizeX(1)); 265 EXPECT_EQ(4, TilingData(5, 6, 6, true).tileSizeX(0)); 266 EXPECT_EQ(2, TilingData(5, 6, 6, true).tileSizeX(1)); 267 268 EXPECT_EQ(5, TilingData(5, 8, 8, false).tileSizeX(0)); 269 EXPECT_EQ(3, TilingData(5, 8, 8, false).tileSizeX(1)); 270 EXPECT_EQ(4, TilingData(5, 8, 8, true).tileSizeX(0)); 271 EXPECT_EQ(4, TilingData(5, 8, 8, true).tileSizeX(1)); 272 273 EXPECT_EQ(5, TilingData(5, 10, 10, false).tileSizeX(0)); 274 EXPECT_EQ(5, TilingData(5, 10, 10, false).tileSizeX(1)); 275 EXPECT_EQ(4, TilingData(5, 10, 10, true).tileSizeX(0)); 276 EXPECT_EQ(3, TilingData(5, 10, 10, true).tileSizeX(1)); 277 EXPECT_EQ(3, TilingData(5, 10, 10, true).tileSizeX(2)); 278 279 EXPECT_EQ(4, TilingData(5, 11, 11, true).tileSizeX(2)); 280 EXPECT_EQ(3, TilingData(5, 12, 12, true).tileSizeX(2)); 302 281 } 303 282 TEST(TilingDataTest, tileSizeY) 304 283 { 305 EXPECT_EQ(5, T estTiling(5, 5, 5, false).tileSizeY(0));306 EXPECT_EQ(5, T estTiling(5, 5, 5, true).tileSizeY(0));307 308 EXPECT_EQ(5, T estTiling(5, 6, 6, false).tileSizeY(0));309 EXPECT_EQ(1, T estTiling(5, 6, 6, false).tileSizeY(1));310 EXPECT_EQ(4, T estTiling(5, 6, 6, true).tileSizeY(0));311 EXPECT_EQ(2, T estTiling(5, 6, 6, true).tileSizeY(1));312 313 EXPECT_EQ(5, T estTiling(5, 8, 8, false).tileSizeY(0));314 EXPECT_EQ(3, T estTiling(5, 8, 8, false).tileSizeY(1));315 EXPECT_EQ(4, T estTiling(5, 8, 8, true).tileSizeY(0));316 EXPECT_EQ(4, T estTiling(5, 8, 8, true).tileSizeY(1));317 318 EXPECT_EQ(5, T estTiling(5, 10, 10, false).tileSizeY(0));319 EXPECT_EQ(5, T estTiling(5, 10, 10, false).tileSizeY(1));320 EXPECT_EQ(4, T estTiling(5, 10, 10, true).tileSizeY(0));321 EXPECT_EQ(3, T estTiling(5, 10, 10, true).tileSizeY(1));322 EXPECT_EQ(3, T estTiling(5, 10, 10, true).tileSizeY(2));323 324 EXPECT_EQ(4, T estTiling(5, 11, 11, true).tileSizeY(2));325 EXPECT_EQ(3, T estTiling(5, 12, 12, true).tileSizeY(2));284 EXPECT_EQ(5, TilingData(5, 5, 5, false).tileSizeY(0)); 285 EXPECT_EQ(5, TilingData(5, 5, 5, true).tileSizeY(0)); 286 287 EXPECT_EQ(5, TilingData(5, 6, 6, false).tileSizeY(0)); 288 EXPECT_EQ(1, TilingData(5, 6, 6, false).tileSizeY(1)); 289 EXPECT_EQ(4, TilingData(5, 6, 6, true).tileSizeY(0)); 290 EXPECT_EQ(2, TilingData(5, 6, 6, true).tileSizeY(1)); 291 292 EXPECT_EQ(5, TilingData(5, 8, 8, false).tileSizeY(0)); 293 EXPECT_EQ(3, TilingData(5, 8, 8, false).tileSizeY(1)); 294 EXPECT_EQ(4, TilingData(5, 8, 8, true).tileSizeY(0)); 295 EXPECT_EQ(4, TilingData(5, 8, 8, true).tileSizeY(1)); 296 297 EXPECT_EQ(5, TilingData(5, 10, 10, false).tileSizeY(0)); 298 EXPECT_EQ(5, TilingData(5, 10, 10, false).tileSizeY(1)); 299 EXPECT_EQ(4, TilingData(5, 10, 10, true).tileSizeY(0)); 300 EXPECT_EQ(3, TilingData(5, 10, 10, true).tileSizeY(1)); 301 EXPECT_EQ(3, TilingData(5, 10, 10, true).tileSizeY(2)); 302 303 EXPECT_EQ(4, TilingData(5, 11, 11, true).tileSizeY(2)); 304 EXPECT_EQ(3, TilingData(5, 12, 12, true).tileSizeY(2)); 326 305 } 327 306 … … 329 308 { 330 309 // Single tile cases: 331 EXPECT_EQ(1, T estTiling(3, 1, 1, false).tileSizeX(0));332 EXPECT_EQ(0, T estTiling(3, 1, 1, false).tilePositionX(0));333 EXPECT_EQ(1, T estTiling(3, 1, 100, false).tileSizeX(0));334 EXPECT_EQ(0, T estTiling(3, 1, 100, false).tilePositionX(0));335 EXPECT_EQ(3, T estTiling(3, 3, 1, false).tileSizeX(0));336 EXPECT_EQ(0, T estTiling(3, 3, 1, false).tilePositionX(0));337 EXPECT_EQ(3, T estTiling(3, 3, 100, false).tileSizeX(0));338 EXPECT_EQ(0, T estTiling(3, 3, 100, false).tilePositionX(0));339 EXPECT_EQ(1, T estTiling(3, 1, 1, true).tileSizeX(0));340 EXPECT_EQ(0, T estTiling(3, 1, 1, true).tilePositionX(0));341 EXPECT_EQ(1, T estTiling(3, 1, 100, true).tileSizeX(0));342 EXPECT_EQ(0, T estTiling(3, 1, 100, true).tilePositionX(0));343 EXPECT_EQ(3, T estTiling(3, 3, 1, true).tileSizeX(0));344 EXPECT_EQ(0, T estTiling(3, 3, 1, true).tilePositionX(0));345 EXPECT_EQ(3, T estTiling(3, 3, 100, true).tileSizeX(0));346 EXPECT_EQ(0, T estTiling(3, 3, 100, true).tilePositionX(0));310 EXPECT_EQ(1, TilingData(3, 1, 1, false).tileSizeX(0)); 311 EXPECT_EQ(0, TilingData(3, 1, 1, false).tilePositionX(0)); 312 EXPECT_EQ(1, TilingData(3, 1, 100, false).tileSizeX(0)); 313 EXPECT_EQ(0, TilingData(3, 1, 100, false).tilePositionX(0)); 314 EXPECT_EQ(3, TilingData(3, 3, 1, false).tileSizeX(0)); 315 EXPECT_EQ(0, TilingData(3, 3, 1, false).tilePositionX(0)); 316 EXPECT_EQ(3, TilingData(3, 3, 100, false).tileSizeX(0)); 317 EXPECT_EQ(0, TilingData(3, 3, 100, false).tilePositionX(0)); 318 EXPECT_EQ(1, TilingData(3, 1, 1, true).tileSizeX(0)); 319 EXPECT_EQ(0, TilingData(3, 1, 1, true).tilePositionX(0)); 320 EXPECT_EQ(1, TilingData(3, 1, 100, true).tileSizeX(0)); 321 EXPECT_EQ(0, TilingData(3, 1, 100, true).tilePositionX(0)); 322 EXPECT_EQ(3, TilingData(3, 3, 1, true).tileSizeX(0)); 323 EXPECT_EQ(0, TilingData(3, 3, 1, true).tilePositionX(0)); 324 EXPECT_EQ(3, TilingData(3, 3, 100, true).tileSizeX(0)); 325 EXPECT_EQ(0, TilingData(3, 3, 100, true).tilePositionX(0)); 347 326 348 327 // Multiple tiles: 349 328 // no border 350 329 // positions 0, 3 351 EXPECT_EQ(2, T estTiling(3, 6, 1, false).numTiles());352 EXPECT_EQ(3, T estTiling(3, 6, 1, false).tileSizeX(0));353 EXPECT_EQ(3, T estTiling(3, 6, 1, false).tileSizeX(1));354 EXPECT_EQ(0, T estTiling(3, 6, 1, false).tilePositionX(0));355 EXPECT_EQ(3, T estTiling(3, 6, 1, false).tilePositionX(1));356 EXPECT_EQ(3, T estTiling(3, 6, 100, false).tileSizeX(0));357 EXPECT_EQ(3, T estTiling(3, 6, 100, false).tileSizeX(1));358 EXPECT_EQ(0, T estTiling(3, 6, 100, false).tilePositionX(0));359 EXPECT_EQ(3, T estTiling(3, 6, 100, false).tilePositionX(1));330 EXPECT_EQ(2, TilingData(3, 6, 1, false).numTiles()); 331 EXPECT_EQ(3, TilingData(3, 6, 1, false).tileSizeX(0)); 332 EXPECT_EQ(3, TilingData(3, 6, 1, false).tileSizeX(1)); 333 EXPECT_EQ(0, TilingData(3, 6, 1, false).tilePositionX(0)); 334 EXPECT_EQ(3, TilingData(3, 6, 1, false).tilePositionX(1)); 335 EXPECT_EQ(3, TilingData(3, 6, 100, false).tileSizeX(0)); 336 EXPECT_EQ(3, TilingData(3, 6, 100, false).tileSizeX(1)); 337 EXPECT_EQ(0, TilingData(3, 6, 100, false).tilePositionX(0)); 338 EXPECT_EQ(3, TilingData(3, 6, 100, false).tilePositionX(1)); 360 339 361 340 // Multiple tiles: 362 341 // with border 363 342 // positions 0, 2, 3, 4 364 EXPECT_EQ(4, T estTiling(3, 6, 1, true).numTiles());365 EXPECT_EQ(2, T estTiling(3, 6, 1, true).tileSizeX(0));366 EXPECT_EQ(1, T estTiling(3, 6, 1, true).tileSizeX(1));367 EXPECT_EQ(1, T estTiling(3, 6, 1, true).tileSizeX(2));368 EXPECT_EQ(2, T estTiling(3, 6, 1, true).tileSizeX(3));369 EXPECT_EQ(0, T estTiling(3, 6, 1, true).tilePositionX(0));370 EXPECT_EQ(2, T estTiling(3, 6, 1, true).tilePositionX(1));371 EXPECT_EQ(3, T estTiling(3, 6, 1, true).tilePositionX(2));372 EXPECT_EQ(4, T estTiling(3, 6, 1, true).tilePositionX(3));373 EXPECT_EQ(2, T estTiling(3, 6, 100, true).tileSizeX(0));374 EXPECT_EQ(1, T estTiling(3, 6, 100, true).tileSizeX(1));375 EXPECT_EQ(1, T estTiling(3, 6, 100, true).tileSizeX(2));376 EXPECT_EQ(2, T estTiling(3, 6, 100, true).tileSizeX(3));377 EXPECT_EQ(0, T estTiling(3, 6, 100, true).tilePositionX(0));378 EXPECT_EQ(2, T estTiling(3, 6, 100, true).tilePositionX(1));379 EXPECT_EQ(3, T estTiling(3, 6, 100, true).tilePositionX(2));380 EXPECT_EQ(4, T estTiling(3, 6, 100, true).tilePositionX(3));343 EXPECT_EQ(4, TilingData(3, 6, 1, true).numTiles()); 344 EXPECT_EQ(2, TilingData(3, 6, 1, true).tileSizeX(0)); 345 EXPECT_EQ(1, TilingData(3, 6, 1, true).tileSizeX(1)); 346 EXPECT_EQ(1, TilingData(3, 6, 1, true).tileSizeX(2)); 347 EXPECT_EQ(2, TilingData(3, 6, 1, true).tileSizeX(3)); 348 EXPECT_EQ(0, TilingData(3, 6, 1, true).tilePositionX(0)); 349 EXPECT_EQ(2, TilingData(3, 6, 1, true).tilePositionX(1)); 350 EXPECT_EQ(3, TilingData(3, 6, 1, true).tilePositionX(2)); 351 EXPECT_EQ(4, TilingData(3, 6, 1, true).tilePositionX(3)); 352 EXPECT_EQ(2, TilingData(3, 6, 100, true).tileSizeX(0)); 353 EXPECT_EQ(1, TilingData(3, 6, 100, true).tileSizeX(1)); 354 EXPECT_EQ(1, TilingData(3, 6, 100, true).tileSizeX(2)); 355 EXPECT_EQ(2, TilingData(3, 6, 100, true).tileSizeX(3)); 356 EXPECT_EQ(0, TilingData(3, 6, 100, true).tilePositionX(0)); 357 EXPECT_EQ(2, TilingData(3, 6, 100, true).tilePositionX(1)); 358 EXPECT_EQ(3, TilingData(3, 6, 100, true).tilePositionX(2)); 359 EXPECT_EQ(4, TilingData(3, 6, 100, true).tilePositionX(3)); 381 360 } 382 361 … … 384 363 { 385 364 // Single tile cases: 386 EXPECT_EQ(1, T estTiling(3, 1, 1, false).tileSizeY(0));387 EXPECT_EQ(0, T estTiling(3, 1, 1, false).tilePositionY(0));388 EXPECT_EQ(1, T estTiling(3, 100, 1, false).tileSizeY(0));389 EXPECT_EQ(0, T estTiling(3, 100, 1, false).tilePositionY(0));390 EXPECT_EQ(3, T estTiling(3, 1, 3, false).tileSizeY(0));391 EXPECT_EQ(0, T estTiling(3, 1, 3, false).tilePositionY(0));392 EXPECT_EQ(3, T estTiling(3, 100, 3, false).tileSizeY(0));393 EXPECT_EQ(0, T estTiling(3, 100, 3, false).tilePositionY(0));394 EXPECT_EQ(1, T estTiling(3, 1, 1, true).tileSizeY(0));395 EXPECT_EQ(0, T estTiling(3, 1, 1, true).tilePositionY(0));396 EXPECT_EQ(1, T estTiling(3, 100, 1, true).tileSizeY(0));397 EXPECT_EQ(0, T estTiling(3, 100, 1, true).tilePositionY(0));398 EXPECT_EQ(3, T estTiling(3, 1, 3, true).tileSizeY(0));399 EXPECT_EQ(0, T estTiling(3, 1, 3, true).tilePositionY(0));400 EXPECT_EQ(3, T estTiling(3, 100, 3, true).tileSizeY(0));401 EXPECT_EQ(0, T estTiling(3, 100, 3, true).tilePositionY(0));365 EXPECT_EQ(1, TilingData(3, 1, 1, false).tileSizeY(0)); 366 EXPECT_EQ(0, TilingData(3, 1, 1, false).tilePositionY(0)); 367 EXPECT_EQ(1, TilingData(3, 100, 1, false).tileSizeY(0)); 368 EXPECT_EQ(0, TilingData(3, 100, 1, false).tilePositionY(0)); 369 EXPECT_EQ(3, TilingData(3, 1, 3, false).tileSizeY(0)); 370 EXPECT_EQ(0, TilingData(3, 1, 3, false).tilePositionY(0)); 371 EXPECT_EQ(3, TilingData(3, 100, 3, false).tileSizeY(0)); 372 EXPECT_EQ(0, TilingData(3, 100, 3, false).tilePositionY(0)); 373 EXPECT_EQ(1, TilingData(3, 1, 1, true).tileSizeY(0)); 374 EXPECT_EQ(0, TilingData(3, 1, 1, true).tilePositionY(0)); 375 EXPECT_EQ(1, TilingData(3, 100, 1, true).tileSizeY(0)); 376 EXPECT_EQ(0, TilingData(3, 100, 1, true).tilePositionY(0)); 377 EXPECT_EQ(3, TilingData(3, 1, 3, true).tileSizeY(0)); 378 EXPECT_EQ(0, TilingData(3, 1, 3, true).tilePositionY(0)); 379 EXPECT_EQ(3, TilingData(3, 100, 3, true).tileSizeY(0)); 380 EXPECT_EQ(0, TilingData(3, 100, 3, true).tilePositionY(0)); 402 381 403 382 // Multiple tiles: 404 383 // no border 405 384 // positions 0, 3 406 EXPECT_EQ(2, T estTiling(3, 1, 6, false).numTiles());407 EXPECT_EQ(3, T estTiling(3, 1, 6, false).tileSizeY(0));408 EXPECT_EQ(3, T estTiling(3, 1, 6, false).tileSizeY(1));409 EXPECT_EQ(0, T estTiling(3, 1, 6, false).tilePositionY(0));410 EXPECT_EQ(3, T estTiling(3, 1, 6, false).tilePositionY(1));411 EXPECT_EQ(3, T estTiling(3, 100, 6, false).tileSizeY(0));412 EXPECT_EQ(3, T estTiling(3, 100, 6, false).tileSizeY(1));413 EXPECT_EQ(0, T estTiling(3, 100, 6, false).tilePositionY(0));414 EXPECT_EQ(3, T estTiling(3, 100, 6, false).tilePositionY(1));385 EXPECT_EQ(2, TilingData(3, 1, 6, false).numTiles()); 386 EXPECT_EQ(3, TilingData(3, 1, 6, false).tileSizeY(0)); 387 EXPECT_EQ(3, TilingData(3, 1, 6, false).tileSizeY(1)); 388 EXPECT_EQ(0, TilingData(3, 1, 6, false).tilePositionY(0)); 389 EXPECT_EQ(3, TilingData(3, 1, 6, false).tilePositionY(1)); 390 EXPECT_EQ(3, TilingData(3, 100, 6, false).tileSizeY(0)); 391 EXPECT_EQ(3, TilingData(3, 100, 6, false).tileSizeY(1)); 392 EXPECT_EQ(0, TilingData(3, 100, 6, false).tilePositionY(0)); 393 EXPECT_EQ(3, TilingData(3, 100, 6, false).tilePositionY(1)); 415 394 416 395 // Multiple tiles: 417 396 // with border 418 397 // positions 0, 2, 3, 4 419 EXPECT_EQ(4, T estTiling(3, 1, 6, true).numTiles());420 EXPECT_EQ(2, T estTiling(3, 1, 6, true).tileSizeY(0));421 EXPECT_EQ(1, T estTiling(3, 1, 6, true).tileSizeY(1));422 EXPECT_EQ(1, T estTiling(3, 1, 6, true).tileSizeY(2));423 EXPECT_EQ(2, T estTiling(3, 1, 6, true).tileSizeY(3));424 EXPECT_EQ(0, T estTiling(3, 1, 6, true).tilePositionY(0));425 EXPECT_EQ(2, T estTiling(3, 1, 6, true).tilePositionY(1));426 EXPECT_EQ(3, T estTiling(3, 1, 6, true).tilePositionY(2));427 EXPECT_EQ(4, T estTiling(3, 1, 6, true).tilePositionY(3));428 EXPECT_EQ(2, T estTiling(3, 100, 6, true).tileSizeY(0));429 EXPECT_EQ(1, T estTiling(3, 100, 6, true).tileSizeY(1));430 EXPECT_EQ(1, T estTiling(3, 100, 6, true).tileSizeY(2));431 EXPECT_EQ(2, T estTiling(3, 100, 6, true).tileSizeY(3));432 EXPECT_EQ(0, T estTiling(3, 100, 6, true).tilePositionY(0));433 EXPECT_EQ(2, T estTiling(3, 100, 6, true).tilePositionY(1));434 EXPECT_EQ(3, T estTiling(3, 100, 6, true).tilePositionY(2));435 EXPECT_EQ(4, T estTiling(3, 100, 6, true).tilePositionY(3));398 EXPECT_EQ(4, TilingData(3, 1, 6, true).numTiles()); 399 EXPECT_EQ(2, TilingData(3, 1, 6, true).tileSizeY(0)); 400 EXPECT_EQ(1, TilingData(3, 1, 6, true).tileSizeY(1)); 401 EXPECT_EQ(1, TilingData(3, 1, 6, true).tileSizeY(2)); 402 EXPECT_EQ(2, TilingData(3, 1, 6, true).tileSizeY(3)); 403 EXPECT_EQ(0, TilingData(3, 1, 6, true).tilePositionY(0)); 404 EXPECT_EQ(2, TilingData(3, 1, 6, true).tilePositionY(1)); 405 EXPECT_EQ(3, TilingData(3, 1, 6, true).tilePositionY(2)); 406 EXPECT_EQ(4, TilingData(3, 1, 6, true).tilePositionY(3)); 407 EXPECT_EQ(2, TilingData(3, 100, 6, true).tileSizeY(0)); 408 EXPECT_EQ(1, TilingData(3, 100, 6, true).tileSizeY(1)); 409 EXPECT_EQ(1, TilingData(3, 100, 6, true).tileSizeY(2)); 410 EXPECT_EQ(2, TilingData(3, 100, 6, true).tileSizeY(3)); 411 EXPECT_EQ(0, TilingData(3, 100, 6, true).tilePositionY(0)); 412 EXPECT_EQ(2, TilingData(3, 100, 6, true).tilePositionY(1)); 413 EXPECT_EQ(3, TilingData(3, 100, 6, true).tilePositionY(2)); 414 EXPECT_EQ(4, TilingData(3, 100, 6, true).tilePositionY(3)); 436 415 } 437 416 438 417 TEST(TilingDataTest, setTotalSize) 439 418 { 440 T estTilingdata(5, 5, 5, false);419 TilingData data(5, 5, 5, false); 441 420 EXPECT_EQ(5, data.totalSizeX()); 442 421 EXPECT_EQ(5, data.totalSizeY()); … … 468 447 TEST(TilingDataTest, setMaxTextureSizeNoBorders) 469 448 { 470 T estTilingdata(8, 16, 32, false);449 TilingData data(8, 16, 32, false); 471 450 EXPECT_EQ(2, data.numTilesX()); 472 451 EXPECT_EQ(4, data.numTilesY()); … … 490 469 TEST(TilingDataTest, setMaxTextureSizeBorders) 491 470 { 492 T estTilingdata(8, 16, 32, true);471 TilingData data(8, 16, 32, true); 493 472 EXPECT_EQ(3, data.numTilesX()); 494 473 EXPECT_EQ(5, data.numTilesY()); … … 513 492 { 514 493 { 515 T estTilingsource(8, 16, 32, true);516 T estTilingdest = source;494 TilingData source(8, 16, 32, true); 495 TilingData dest = source; 517 496 EXPECT_EQ(source.borderTexels(), dest.borderTexels()); 518 497 EXPECT_EQ(source.maxTextureSize(), dest.maxTextureSize()); … … 523 502 } 524 503 { 525 T estTilingsource(3, 6, 100, false);526 T estTilingdest(source);504 TilingData source(3, 6, 100, false); 505 TilingData dest(source); 527 506 EXPECT_EQ(source.borderTexels(), dest.borderTexels()); 528 507 EXPECT_EQ(source.maxTextureSize(), dest.maxTextureSize()); … … 536 515 TEST(TilingDataTest, setBorderTexels) 537 516 { 538 T estTilingdata(8, 16, 32, false);517 TilingData data(8, 16, 32, false); 539 518 EXPECT_EQ(2, data.numTilesX()); 540 519 EXPECT_EQ(4, data.numTilesY());
Note: See TracChangeset
for help on using the changeset viewer.