зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1001458 - Rename TileIterator ino BigImageIterator. r=BenWa
This commit is contained in:
Родитель
c15c9f6bc6
Коммит
a1eb82d358
|
@ -52,7 +52,7 @@ GLBlitTextureImageHelper::BlitTextureImage(TextureImage *aSrc, const nsIntRect&
|
|||
float blitScaleY = float(aDstRect.height) / float(aSrcRect.height);
|
||||
|
||||
// We start iterating over all destination tiles
|
||||
aDst->BeginTileIteration();
|
||||
aDst->BeginBigImageIteration();
|
||||
do {
|
||||
// calculate portion of the tile that is going to be painted to
|
||||
nsIntRect dstSubRect;
|
||||
|
@ -73,7 +73,7 @@ GLBlitTextureImageHelper::BlitTextureImage(TextureImage *aSrc, const nsIntRect&
|
|||
SetBlitFramebufferForDestTexture(aDst->GetTextureID());
|
||||
UseBlitProgram();
|
||||
|
||||
aSrc->BeginTileIteration();
|
||||
aSrc->BeginBigImageIteration();
|
||||
// now iterate over all tiles in the source Image...
|
||||
do {
|
||||
// calculate portion of the source tile that is in the source rect
|
||||
|
|
|
@ -362,7 +362,7 @@ TiledTextureImage::DirectUpdate(gfx::DataSourceSurface* aSurf, const nsIntRegion
|
|||
|
||||
bool result = true;
|
||||
int oldCurrentImage = mCurrentImage;
|
||||
BeginTileIteration();
|
||||
BeginBigImageIteration();
|
||||
do {
|
||||
nsIntRect tileRect = ThebesIntRect(GetSrcTileRect());
|
||||
int xPos = tileRect.x;
|
||||
|
@ -547,7 +547,7 @@ TiledTextureImage::EndUpdate()
|
|||
mTextureState = Valid;
|
||||
}
|
||||
|
||||
void TiledTextureImage::BeginTileIteration()
|
||||
void TiledTextureImage::BeginBigImageIteration()
|
||||
{
|
||||
mCurrentImage = 0;
|
||||
}
|
||||
|
@ -567,7 +567,7 @@ bool TiledTextureImage::NextTile()
|
|||
return false;
|
||||
}
|
||||
|
||||
void TiledTextureImage::SetIterationCallback(TileIterationCallback aCallback,
|
||||
void TiledTextureImage::SetIterationCallback(BigImageIterationCallback aCallback,
|
||||
void* aCallbackData)
|
||||
{
|
||||
mIterationCallback = aCallback;
|
||||
|
|
|
@ -123,7 +123,7 @@ public:
|
|||
* The Image may contain several textures for different regions (tiles).
|
||||
* These functions iterate over each sub texture image tile.
|
||||
*/
|
||||
virtual void BeginTileIteration() {
|
||||
virtual void BeginBigImageIteration() {
|
||||
}
|
||||
|
||||
virtual bool NextTile() {
|
||||
|
@ -133,12 +133,12 @@ public:
|
|||
// Function prototype for a tile iteration callback. Returning false will
|
||||
// cause iteration to be interrupted (i.e. the corresponding NextTile call
|
||||
// will return false).
|
||||
typedef bool (* TileIterationCallback)(TextureImage* aImage,
|
||||
typedef bool (* BigImageIterationCallback)(TextureImage* aImage,
|
||||
int aTileNumber,
|
||||
void* aCallbackData);
|
||||
|
||||
// Sets a callback to be called every time NextTile is called.
|
||||
virtual void SetIterationCallback(TileIterationCallback aCallback,
|
||||
virtual void SetIterationCallback(BigImageIterationCallback aCallback,
|
||||
void* aCallbackData) {
|
||||
}
|
||||
|
||||
|
@ -335,9 +335,9 @@ public:
|
|||
virtual void EndUpdate();
|
||||
virtual void Resize(const gfx::IntSize& aSize);
|
||||
virtual uint32_t GetTileCount();
|
||||
virtual void BeginTileIteration();
|
||||
virtual void BeginBigImageIteration();
|
||||
virtual bool NextTile();
|
||||
virtual void SetIterationCallback(TileIterationCallback aCallback,
|
||||
virtual void SetIterationCallback(BigImageIterationCallback aCallback,
|
||||
void* aCallbackData);
|
||||
virtual gfx::IntRect GetTileRect();
|
||||
virtual GLuint GetTextureID() {
|
||||
|
@ -351,7 +351,7 @@ protected:
|
|||
virtual gfx::IntRect GetSrcTileRect();
|
||||
|
||||
unsigned int mCurrentImage;
|
||||
TileIterationCallback mIterationCallback;
|
||||
BigImageIterationCallback mIterationCallback;
|
||||
void* mIterationCallbackData;
|
||||
nsTArray< nsRefPtr<TextureImage> > mImages;
|
||||
bool mInUpdate;
|
||||
|
|
|
@ -129,29 +129,29 @@ ContentHostBase::Composite(EffectChain& aEffectChain,
|
|||
regionRects.Or(regionRects, regionRect);
|
||||
}
|
||||
|
||||
TileIterator* tileIter = source->AsTileIterator();
|
||||
TileIterator* iterOnWhite = nullptr;
|
||||
if (tileIter) {
|
||||
tileIter->BeginTileIteration();
|
||||
BigImageIterator* bigImgIter = source->AsBigImageIterator();
|
||||
BigImageIterator* iterOnWhite = nullptr;
|
||||
if (bigImgIter) {
|
||||
bigImgIter->BeginBigImageIteration();
|
||||
}
|
||||
|
||||
if (sourceOnWhite) {
|
||||
iterOnWhite = sourceOnWhite->AsTileIterator();
|
||||
MOZ_ASSERT(!tileIter || tileIter->GetTileCount() == iterOnWhite->GetTileCount(),
|
||||
iterOnWhite = sourceOnWhite->AsBigImageIterator();
|
||||
MOZ_ASSERT(!bigImgIter || bigImgIter->GetTileCount() == iterOnWhite->GetTileCount(),
|
||||
"Tile count mismatch on component alpha texture");
|
||||
if (iterOnWhite) {
|
||||
iterOnWhite->BeginTileIteration();
|
||||
iterOnWhite->BeginBigImageIteration();
|
||||
}
|
||||
}
|
||||
|
||||
bool usingTiles = (tileIter && tileIter->GetTileCount() > 1);
|
||||
bool usingTiles = (bigImgIter && bigImgIter->GetTileCount() > 1);
|
||||
do {
|
||||
if (iterOnWhite) {
|
||||
MOZ_ASSERT(iterOnWhite->GetTileRect() == tileIter->GetTileRect(),
|
||||
MOZ_ASSERT(iterOnWhite->GetTileRect() == bigImgIter->GetTileRect(),
|
||||
"component alpha textures should be the same size.");
|
||||
}
|
||||
|
||||
nsIntRect texRect = tileIter ? tileIter->GetTileRect()
|
||||
nsIntRect texRect = bigImgIter ? bigImgIter->GetTileRect()
|
||||
: nsIntRect(0, 0,
|
||||
texSize.width,
|
||||
texSize.height);
|
||||
|
@ -210,13 +210,13 @@ ContentHostBase::Composite(EffectChain& aEffectChain,
|
|||
if (iterOnWhite) {
|
||||
iterOnWhite->NextTile();
|
||||
}
|
||||
} while (usingTiles && tileIter->NextTile());
|
||||
} while (usingTiles && bigImgIter->NextTile());
|
||||
|
||||
if (tileIter) {
|
||||
tileIter->EndTileIteration();
|
||||
if (bigImgIter) {
|
||||
bigImgIter->EndBigImageIteration();
|
||||
}
|
||||
if (iterOnWhite) {
|
||||
iterOnWhite->EndTileIteration();
|
||||
iterOnWhite->EndBigImageIteration();
|
||||
}
|
||||
|
||||
DiagnosticTypes diagnostics = DIAGNOSTIC_CONTENT;
|
||||
|
|
|
@ -109,9 +109,9 @@ ImageHost::Composite(EffectChain& aEffectChain,
|
|||
//XXX: We might have multiple texture sources here (e.g. 3 YCbCr textures), and we're
|
||||
// only iterating over the tiles of the first one. Are we assuming that the tiling
|
||||
// will be identical? Can we ensure that somehow?
|
||||
TileIterator* it = source->AsTileIterator();
|
||||
BigImageIterator* it = source->AsBigImageIterator();
|
||||
if (it) {
|
||||
it->BeginTileIteration();
|
||||
it->BeginBigImageIteration();
|
||||
do {
|
||||
nsIntRect tileRect = it->GetTileRect();
|
||||
gfx::Rect rect(tileRect.x, tileRect.y, tileRect.width, tileRect.height);
|
||||
|
@ -129,7 +129,7 @@ ImageHost::Composite(EffectChain& aEffectChain,
|
|||
GetCompositor()->DrawDiagnostics(DIAGNOSTIC_IMAGE|DIAGNOSTIC_BIGIMAGE,
|
||||
rect, aClipRect, aTransform, mFlashCounter);
|
||||
} while (it->NextTile());
|
||||
it->EndTileIteration();
|
||||
it->EndBigImageIteration();
|
||||
// layer border
|
||||
GetCompositor()->DrawDiagnostics(DIAGNOSTIC_IMAGE,
|
||||
gfxPictureRect, aClipRect,
|
||||
|
|
|
@ -60,11 +60,11 @@ class TextureParent;
|
|||
* device texture, which forces us to split it in smaller parts.
|
||||
* Tiled Compositable is a different thing.
|
||||
*/
|
||||
class TileIterator
|
||||
class BigImageIterator
|
||||
{
|
||||
public:
|
||||
virtual void BeginTileIteration() = 0;
|
||||
virtual void EndTileIteration() {};
|
||||
virtual void BeginBigImageIteration() = 0;
|
||||
virtual void EndBigImageIteration() {};
|
||||
virtual nsIntRect GetTileRect() = 0;
|
||||
virtual size_t GetTileCount() = 0;
|
||||
virtual bool NextTile() = 0;
|
||||
|
@ -123,7 +123,7 @@ public:
|
|||
* Overload this if the TextureSource supports big textures that don't fit in
|
||||
* one device texture and must be tiled internally.
|
||||
*/
|
||||
virtual TileIterator* AsTileIterator() { return nullptr; }
|
||||
virtual BigImageIterator* AsBigImageIterator() { return nullptr; }
|
||||
|
||||
virtual void SetCompositableBackendSpecificData(CompositableBackendSpecificData* aBackendData);
|
||||
|
||||
|
|
|
@ -96,7 +96,7 @@ protected:
|
|||
*/
|
||||
class DataTextureSourceD3D11 : public DataTextureSource
|
||||
, public TextureSourceD3D11
|
||||
, public TileIterator
|
||||
, public BigImageIterator
|
||||
{
|
||||
public:
|
||||
DataTextureSourceD3D11(gfx::SurfaceFormat aFormat, CompositorD3D11* aCompositor,
|
||||
|
@ -130,9 +130,9 @@ public:
|
|||
|
||||
virtual void SetCompositor(Compositor* aCompositor) MOZ_OVERRIDE;
|
||||
|
||||
// TileIterator
|
||||
// BigImageIterator
|
||||
|
||||
virtual TileIterator* AsTileIterator() MOZ_OVERRIDE { return mIsTiled ? this : nullptr; }
|
||||
virtual BigImageIterator* AsBigImageIterator() MOZ_OVERRIDE { return mIsTiled ? this : nullptr; }
|
||||
|
||||
virtual size_t GetTileCount() MOZ_OVERRIDE { return mTileTextures.size(); }
|
||||
|
||||
|
@ -140,9 +140,9 @@ public:
|
|||
|
||||
virtual nsIntRect GetTileRect() MOZ_OVERRIDE;
|
||||
|
||||
virtual void EndTileIteration() MOZ_OVERRIDE { mIterating = false; }
|
||||
virtual void EndBigImageIteration() MOZ_OVERRIDE { mIterating = false; }
|
||||
|
||||
virtual void BeginTileIteration() MOZ_OVERRIDE
|
||||
virtual void BeginBigImageIteration() MOZ_OVERRIDE
|
||||
{
|
||||
mIterating = true;
|
||||
mCurrentTile = 0;
|
||||
|
|
|
@ -101,7 +101,7 @@ protected:
|
|||
*/
|
||||
class DataTextureSourceD3D9 : public DataTextureSource
|
||||
, public TextureSourceD3D9
|
||||
, public TileIterator
|
||||
, public BigImageIterator
|
||||
{
|
||||
public:
|
||||
DataTextureSourceD3D9(gfx::SurfaceFormat aFormat,
|
||||
|
@ -139,9 +139,9 @@ public:
|
|||
|
||||
virtual void SetCompositor(Compositor* aCompositor) MOZ_OVERRIDE;
|
||||
|
||||
// TileIterator
|
||||
// BigImageIterator
|
||||
|
||||
virtual TileIterator* AsTileIterator() MOZ_OVERRIDE { return mIsTiled ? this : nullptr; }
|
||||
virtual BigImageIterator* AsBigImageIterator() MOZ_OVERRIDE { return mIsTiled ? this : nullptr; }
|
||||
|
||||
virtual size_t GetTileCount() MOZ_OVERRIDE { return mTileTextures.size(); }
|
||||
|
||||
|
@ -149,9 +149,9 @@ public:
|
|||
|
||||
virtual nsIntRect GetTileRect() MOZ_OVERRIDE;
|
||||
|
||||
virtual void EndTileIteration() MOZ_OVERRIDE { mIterating = false; }
|
||||
virtual void EndBigImageIteration() MOZ_OVERRIDE { mIterating = false; }
|
||||
|
||||
virtual void BeginTileIteration() MOZ_OVERRIDE
|
||||
virtual void BeginBigImageIteration() MOZ_OVERRIDE
|
||||
{
|
||||
mIterating = true;
|
||||
mCurrentTile = 0;
|
||||
|
|
|
@ -185,14 +185,14 @@ protected:
|
|||
* A TextureSource backed by a TextureImage.
|
||||
*
|
||||
* Depending on the underlying TextureImage, may support texture tiling, so
|
||||
* make sure to check AsTileIterator() and use the texture accordingly.
|
||||
* make sure to check AsBigImageIterator() and use the texture accordingly.
|
||||
*
|
||||
* This TextureSource can be used without a TextureHost and manage it's own
|
||||
* GL texture(s).
|
||||
*/
|
||||
class TextureImageTextureSourceOGL : public DataTextureSource
|
||||
, public TextureSourceOGL
|
||||
, public TileIterator
|
||||
, public BigImageIterator
|
||||
{
|
||||
public:
|
||||
TextureImageTextureSourceOGL(gl::GLContext* aGL,
|
||||
|
@ -242,17 +242,17 @@ public:
|
|||
return mTexImage->GetWrapMode();
|
||||
}
|
||||
|
||||
// TileIterator
|
||||
// BigImageIterator
|
||||
|
||||
virtual TileIterator* AsTileIterator() MOZ_OVERRIDE { return this; }
|
||||
virtual BigImageIterator* AsBigImageIterator() MOZ_OVERRIDE { return this; }
|
||||
|
||||
virtual void BeginTileIteration() MOZ_OVERRIDE
|
||||
virtual void BeginBigImageIteration() MOZ_OVERRIDE
|
||||
{
|
||||
mTexImage->BeginTileIteration();
|
||||
mTexImage->BeginBigImageIteration();
|
||||
mIterating = true;
|
||||
}
|
||||
|
||||
virtual void EndTileIteration() MOZ_OVERRIDE
|
||||
virtual void EndBigImageIteration() MOZ_OVERRIDE
|
||||
{
|
||||
mIterating = false;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче