зеркало из https://github.com/mozilla/gecko-dev.git
b=574481; fix layers lifetime issues; part 4 - fix other layers; r=bas
This commit is contained in:
Родитель
df9d6bc2dd
Коммит
b524227b49
|
@ -1,4 +1,4 @@
|
||||||
/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||||
* ***** BEGIN LICENSE BLOCK *****
|
* ***** BEGIN LICENSE BLOCK *****
|
||||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||||
*
|
*
|
||||||
|
@ -226,6 +226,7 @@ public:
|
||||||
virtual already_AddRefed<Image> GetCurrentImage();
|
virtual already_AddRefed<Image> GetCurrentImage();
|
||||||
virtual already_AddRefed<gfxASurface> GetCurrentAsSurface(gfxIntSize* aSize);
|
virtual already_AddRefed<gfxASurface> GetCurrentAsSurface(gfxIntSize* aSize);
|
||||||
virtual gfxIntSize GetCurrentSize();
|
virtual gfxIntSize GetCurrentSize();
|
||||||
|
virtual PRBool SetLayerManager(LayerManager *aManager);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
Monitor mMonitor;
|
Monitor mMonitor;
|
||||||
|
@ -302,6 +303,20 @@ BasicImageContainer::GetCurrentSize()
|
||||||
return !mImage ? gfxIntSize(0,0) : ToImageData(mImage)->GetSize();
|
return !mImage ? gfxIntSize(0,0) : ToImageData(mImage)->GetSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PRBool
|
||||||
|
BasicImageContainer::SetLayerManager(LayerManager *aManager)
|
||||||
|
{
|
||||||
|
if (aManager &&
|
||||||
|
aManager->GetBackendType() != LayerManager::LAYERS_BASIC)
|
||||||
|
{
|
||||||
|
return PR_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// for basic layers, we can just swap; no magic needed.
|
||||||
|
mManager = aManager;
|
||||||
|
return PR_TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
already_AddRefed<ImageContainer>
|
already_AddRefed<ImageContainer>
|
||||||
BasicLayerManager::CreateImageContainer()
|
BasicLayerManager::CreateImageContainer()
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||||
* ***** BEGIN LICENSE BLOCK *****
|
* ***** BEGIN LICENSE BLOCK *****
|
||||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||||
*
|
*
|
||||||
|
@ -130,6 +130,13 @@ ImageContainerD3D9::GetCurrentSize()
|
||||||
return gfxIntSize(0,0);
|
return gfxIntSize(0,0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PRBool
|
||||||
|
ImageContainerD3D9::SetLayerManager(LayerManager *aManager)
|
||||||
|
{
|
||||||
|
// we can't do anything here for now
|
||||||
|
return PR_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
Layer*
|
Layer*
|
||||||
ImageLayerD3D9::GetLayer()
|
ImageLayerD3D9::GetLayer()
|
||||||
{
|
{
|
||||||
|
|
|
@ -62,6 +62,8 @@ public:
|
||||||
|
|
||||||
virtual gfxIntSize GetCurrentSize();
|
virtual gfxIntSize GetCurrentSize();
|
||||||
|
|
||||||
|
virtual PRBool SetLayerManager(LayerManager *aManager);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
typedef mozilla::Mutex Mutex;
|
typedef mozilla::Mutex Mutex;
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче