| OLD | NEW | 
|    1 /* |    1 /* | 
|    2  * Copyright (C) 2012 Google Inc. All rights reserved. |    2  * Copyright (C) 2012 Google Inc. All rights reserved. | 
|    3  * |    3  * | 
|    4  * Redistribution and use in source and binary forms, with or without |    4  * Redistribution and use in source and binary forms, with or without | 
|    5  * modification, are permitted provided that the following conditions |    5  * modification, are permitted provided that the following conditions | 
|    6  * are met: |    6  * are met: | 
|    7  * 1.  Redistributions of source code must retain the above copyright |    7  * 1.  Redistributions of source code must retain the above copyright | 
|    8  *     notice, this list of conditions and the following disclaimer. |    8  *     notice, this list of conditions and the following disclaimer. | 
|    9  * 2.  Redistributions in binary form must reproduce the above copyright |    9  * 2.  Redistributions in binary form must reproduce the above copyright | 
|   10  *     notice, this list of conditions and the following disclaimer in the |   10  *     notice, this list of conditions and the following disclaimer in the | 
| (...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  255     sharedState = getQuads(quads, tileSize, layerSize, CCLayerTilingData::NoBord
     erTexels, IntRect(IntPoint(), layerSize)); |  255     sharedState = getQuads(quads, tileSize, layerSize, CCLayerTilingData::NoBord
     erTexels, IntRect(IntPoint(), layerSize)); | 
|  256  |  256  | 
|  257     for (size_t i = 0; i < quads.size(); ++i) { |  257     for (size_t i = 0; i < quads.size(); ++i) { | 
|  258         ASSERT_EQ(quads[i]->material(), CCDrawQuad::TiledContent) << quadString 
     << i; |  258         ASSERT_EQ(quads[i]->material(), CCDrawQuad::TiledContent) << quadString 
     << i; | 
|  259         CCTileDrawQuad* quad = static_cast<CCTileDrawQuad*>(quads[i].get()); |  259         CCTileDrawQuad* quad = static_cast<CCTileDrawQuad*>(quads[i].get()); | 
|  260  |  260  | 
|  261         EXPECT_EQ(IntRect(0, 0, 1, 1), quad->opaqueRect()) << quadString << i; |  261         EXPECT_EQ(IntRect(0, 0, 1, 1), quad->opaqueRect()) << quadString << i; | 
|  262     } |  262     } | 
|  263 } |  263 } | 
|  264  |  264  | 
|  265 TEST(CCTiledLayerImplTest, backgroundCoversViewport) |  | 
|  266 { |  | 
|  267     DebugScopedSetImplThread scopedImplThread; |  | 
|  268  |  | 
|  269     const IntSize tileSize(10, 10); |  | 
|  270     const int numTilesX = 2; |  | 
|  271     const int numTilesY = 2; |  | 
|  272     const unsigned numTiles = numTilesX * numTilesY; |  | 
|  273     const IntSize layerSize(tileSize.width() * numTilesX, tileSize.height() * nu
     mTilesY); |  | 
|  274     OwnPtr<CCTiledLayerImpl> layer = createLayer(tileSize, layerSize, CCLayerTil
     ingData::NoBorderTexels); |  | 
|  275     layer->setBackgroundColor(Color::gray); |  | 
|  276     layer->setBackgroundCoversViewport(true); |  | 
|  277  |  | 
|  278     // No gutter rects |  | 
|  279     { |  | 
|  280         IntRect clipRect = IntRect(IntPoint(), layerSize); |  | 
|  281         layer->setClipRect(clipRect); |  | 
|  282         layer->setVisibleLayerRect(IntRect(IntPoint(), layerSize)); |  | 
|  283  |  | 
|  284         OwnPtr<CCSharedQuadState> sharedQuadState = layer->createSharedQuadState
     (); |  | 
|  285  |  | 
|  286         MockCCQuadCuller quadCuller; |  | 
|  287         bool usedCheckerboard = false; |  | 
|  288         layer->appendQuads(quadCuller, sharedQuadState.get(), usedCheckerboard); |  | 
|  289         EXPECT_EQ(quadCuller.quadList().size(), numTiles); |  | 
|  290  |  | 
|  291         for (size_t i = 0; i < quadCuller.quadList().size(); ++i) |  | 
|  292             EXPECT_EQ(quadCuller.quadList()[i]->material(), CCDrawQuad::TiledCon
     tent); |  | 
|  293     } |  | 
|  294  |  | 
|  295     // Empty visible content area (fullscreen gutter rect) |  | 
|  296     { |  | 
|  297         IntRect clipRect = IntRect(100, 100, 100, 100); |  | 
|  298         layer->setClipRect(clipRect); |  | 
|  299         layer->setVisibleLayerRect(IntRect()); |  | 
|  300  |  | 
|  301         OwnPtr<CCSharedQuadState> sharedQuadState = layer->createSharedQuadState
     (); |  | 
|  302         MockCCQuadCuller quadCuller; |  | 
|  303         bool usedCheckerboard = false; |  | 
|  304         layer->appendQuads(quadCuller, sharedQuadState.get(), usedCheckerboard); |  | 
|  305  |  | 
|  306         for (size_t i = 0; i < quadCuller.quadList().size(); ++i) |  | 
|  307             EXPECT_EQ(quadCuller.quadList()[i]->material(), CCDrawQuad::SolidCol
     or); |  | 
|  308  |  | 
|  309         verifyQuadsExactlyCoverRect(quadCuller.quadList(), clipRect); |  | 
|  310     } |  | 
|  311  |  | 
|  312     // Content area in middle of clip rect (four surrounding gutter rects) |  | 
|  313     { |  | 
|  314         IntRect clipRect = IntRect(-50, -50, 100, 100); |  | 
|  315         layer->setClipRect(clipRect); |  | 
|  316         layer->setVisibleLayerRect(IntRect(IntPoint(), layerSize)); |  | 
|  317  |  | 
|  318         OwnPtr<CCSharedQuadState> sharedQuadState = layer->createSharedQuadState
     (); |  | 
|  319         MockCCQuadCuller quadCuller; |  | 
|  320         bool usedCheckerboard = false; |  | 
|  321         layer->appendQuads(quadCuller, sharedQuadState.get(), usedCheckerboard); |  | 
|  322  |  | 
|  323         unsigned numContentTiles = 0, numGutterTiles = 0; |  | 
|  324         for (size_t i = 0; i < quadCuller.quadList().size(); ++i) { |  | 
|  325             if (quadCuller.quadList()[i]->material() == CCDrawQuad::TiledContent
     ) |  | 
|  326                 numContentTiles++; |  | 
|  327             else if (quadCuller.quadList()[i]->material() == CCDrawQuad::SolidCo
     lor) |  | 
|  328                 numGutterTiles++; |  | 
|  329         } |  | 
|  330         EXPECT_EQ(numContentTiles, numTiles); |  | 
|  331         EXPECT_GE(numGutterTiles, 4u); |  | 
|  332  |  | 
|  333         verifyQuadsExactlyCoverRect(quadCuller.quadList(), clipRect); |  | 
|  334     } |  | 
|  335 } |  | 
|  336  |  | 
|  337 } // namespace |  265 } // namespace | 
| OLD | NEW |