mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 893302 - Rename the CanvasClient class to include Deprecated so we can implement one on top of NewTextureHost. r=nical
This commit is contained in:
parent
c9e97a4c47
commit
8131a7ca09
@ -28,27 +28,27 @@ CanvasClient::CreateCanvasClient(CanvasClientType aType,
|
|||||||
{
|
{
|
||||||
if (aType == CanvasClientGLContext &&
|
if (aType == CanvasClientGLContext &&
|
||||||
aForwarder->GetCompositorBackendType() == LAYERS_OPENGL) {
|
aForwarder->GetCompositorBackendType() == LAYERS_OPENGL) {
|
||||||
return new CanvasClientSurfaceStream(aForwarder, aFlags);
|
return new DeprecatedCanvasClientSurfaceStream(aForwarder, aFlags);
|
||||||
}
|
}
|
||||||
return new CanvasClient2D(aForwarder, aFlags);
|
return new DeprecatedCanvasClient2D(aForwarder, aFlags);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
CanvasClient::Updated()
|
DeprecatedCanvasClient2D::Updated()
|
||||||
{
|
{
|
||||||
mForwarder->UpdateTexture(this, 1, mDeprecatedTextureClient->GetDescriptor());
|
mForwarder->UpdateTexture(this, 1, mDeprecatedTextureClient->GetDescriptor());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
CanvasClient2D::CanvasClient2D(CompositableForwarder* aFwd,
|
DeprecatedCanvasClient2D::DeprecatedCanvasClient2D(CompositableForwarder* aFwd,
|
||||||
TextureFlags aFlags)
|
TextureFlags aFlags)
|
||||||
: CanvasClient(aFwd, aFlags)
|
: CanvasClient(aFwd, aFlags)
|
||||||
{
|
{
|
||||||
mTextureInfo.mCompositableType = BUFFER_IMAGE_SINGLE;
|
mTextureInfo.mCompositableType = BUFFER_IMAGE_SINGLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
CanvasClient2D::Update(gfx::IntSize aSize, ClientCanvasLayer* aLayer)
|
DeprecatedCanvasClient2D::Update(gfx::IntSize aSize, ClientCanvasLayer* aLayer)
|
||||||
{
|
{
|
||||||
if (!mDeprecatedTextureClient) {
|
if (!mDeprecatedTextureClient) {
|
||||||
mDeprecatedTextureClient = CreateDeprecatedTextureClient(TEXTURE_CONTENT);
|
mDeprecatedTextureClient = CreateDeprecatedTextureClient(TEXTURE_CONTENT);
|
||||||
@ -67,7 +67,7 @@ CanvasClient2D::Update(gfx::IntSize aSize, ClientCanvasLayer* aLayer)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
CanvasClientSurfaceStream::Updated()
|
DeprecatedCanvasClientSurfaceStream::Updated()
|
||||||
{
|
{
|
||||||
if (mNeedsUpdate) {
|
if (mNeedsUpdate) {
|
||||||
mForwarder->UpdateTextureNoSwap(this, 1, mDeprecatedTextureClient->GetDescriptor());
|
mForwarder->UpdateTextureNoSwap(this, 1, mDeprecatedTextureClient->GetDescriptor());
|
||||||
@ -76,8 +76,8 @@ CanvasClientSurfaceStream::Updated()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
CanvasClientSurfaceStream::CanvasClientSurfaceStream(CompositableForwarder* aFwd,
|
DeprecatedCanvasClientSurfaceStream::DeprecatedCanvasClientSurfaceStream(CompositableForwarder* aFwd,
|
||||||
TextureFlags aFlags)
|
TextureFlags aFlags)
|
||||||
: CanvasClient(aFwd, aFlags)
|
: CanvasClient(aFwd, aFlags)
|
||||||
, mNeedsUpdate(false)
|
, mNeedsUpdate(false)
|
||||||
{
|
{
|
||||||
@ -85,7 +85,7 @@ CanvasClientSurfaceStream::CanvasClientSurfaceStream(CompositableForwarder* aFwd
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
CanvasClientSurfaceStream::Update(gfx::IntSize aSize, ClientCanvasLayer* aLayer)
|
DeprecatedCanvasClientSurfaceStream::Update(gfx::IntSize aSize, ClientCanvasLayer* aLayer)
|
||||||
{
|
{
|
||||||
if (!mDeprecatedTextureClient) {
|
if (!mDeprecatedTextureClient) {
|
||||||
mDeprecatedTextureClient = CreateDeprecatedTextureClient(TEXTURE_STREAM_GL);
|
mDeprecatedTextureClient = CreateDeprecatedTextureClient(TEXTURE_STREAM_GL);
|
||||||
|
@ -44,40 +44,18 @@ public:
|
|||||||
|
|
||||||
virtual void Update(gfx::IntSize aSize, ClientCanvasLayer* aLayer) = 0;
|
virtual void Update(gfx::IntSize aSize, ClientCanvasLayer* aLayer) = 0;
|
||||||
|
|
||||||
virtual void Updated();
|
virtual void Updated() { }
|
||||||
|
|
||||||
virtual void SetDescriptorFromReply(TextureIdentifier aTextureId,
|
|
||||||
const SurfaceDescriptor& aDescriptor) MOZ_OVERRIDE
|
|
||||||
{
|
|
||||||
mDeprecatedTextureClient->SetDescriptorFromReply(aDescriptor);
|
|
||||||
}
|
|
||||||
protected:
|
protected:
|
||||||
RefPtr<DeprecatedTextureClient> mDeprecatedTextureClient;
|
|
||||||
TextureInfo mTextureInfo;
|
TextureInfo mTextureInfo;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Used for 2D canvases and WebGL canvas on non-GL systems where readback is requried.
|
// Used for 2D canvases and WebGL canvas on non-GL systems where readback is requried.
|
||||||
class CanvasClient2D : public CanvasClient
|
class DeprecatedCanvasClient2D : public CanvasClient
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CanvasClient2D(CompositableForwarder* aLayerForwarder,
|
DeprecatedCanvasClient2D(CompositableForwarder* aLayerForwarder,
|
||||||
TextureFlags aFlags);
|
TextureFlags aFlags);
|
||||||
|
|
||||||
TextureInfo GetTextureInfo() const MOZ_OVERRIDE
|
|
||||||
{
|
|
||||||
return mTextureInfo;
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual void Update(gfx::IntSize aSize, ClientCanvasLayer* aLayer);
|
|
||||||
};
|
|
||||||
|
|
||||||
// Used for GL canvases where we don't need to do any readback, i.e., with a
|
|
||||||
// GL backend.
|
|
||||||
class CanvasClientSurfaceStream : public CanvasClient
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
CanvasClientSurfaceStream(CompositableForwarder* aFwd,
|
|
||||||
TextureFlags aFlags);
|
|
||||||
|
|
||||||
TextureInfo GetTextureInfo() const MOZ_OVERRIDE
|
TextureInfo GetTextureInfo() const MOZ_OVERRIDE
|
||||||
{
|
{
|
||||||
@ -87,7 +65,40 @@ public:
|
|||||||
virtual void Update(gfx::IntSize aSize, ClientCanvasLayer* aLayer);
|
virtual void Update(gfx::IntSize aSize, ClientCanvasLayer* aLayer);
|
||||||
virtual void Updated() MOZ_OVERRIDE;
|
virtual void Updated() MOZ_OVERRIDE;
|
||||||
|
|
||||||
|
virtual void SetDescriptorFromReply(TextureIdentifier aTextureId,
|
||||||
|
const SurfaceDescriptor& aDescriptor) MOZ_OVERRIDE
|
||||||
|
{
|
||||||
|
mDeprecatedTextureClient->SetDescriptorFromReply(aDescriptor);
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
RefPtr<DeprecatedTextureClient> mDeprecatedTextureClient;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Used for GL canvases where we don't need to do any readback, i.e., with a
|
||||||
|
// GL backend.
|
||||||
|
class DeprecatedCanvasClientSurfaceStream : public CanvasClient
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
DeprecatedCanvasClientSurfaceStream(CompositableForwarder* aFwd,
|
||||||
|
TextureFlags aFlags);
|
||||||
|
|
||||||
|
TextureInfo GetTextureInfo() const MOZ_OVERRIDE
|
||||||
|
{
|
||||||
|
return mTextureInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void Update(gfx::IntSize aSize, ClientCanvasLayer* aLayer);
|
||||||
|
virtual void Updated() MOZ_OVERRIDE;
|
||||||
|
|
||||||
|
virtual void SetDescriptorFromReply(TextureIdentifier aTextureId,
|
||||||
|
const SurfaceDescriptor& aDescriptor) MOZ_OVERRIDE
|
||||||
|
{
|
||||||
|
mDeprecatedTextureClient->SetDescriptorFromReply(aDescriptor);
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
RefPtr<DeprecatedTextureClient> mDeprecatedTextureClient;
|
||||||
bool mNeedsUpdate;
|
bool mNeedsUpdate;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -86,8 +86,8 @@ protected:
|
|||||||
|
|
||||||
RefPtr<CanvasClient> mCanvasClient;
|
RefPtr<CanvasClient> mCanvasClient;
|
||||||
|
|
||||||
friend class CanvasClient2D;
|
friend class DeprecatedCanvasClient2D;
|
||||||
friend class CanvasClientSurfaceStream;
|
friend class DeprecatedCanvasClientSurfaceStream;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user