2013-12-04 04:20:04 +04:00
|
|
|
|
|
|
|
/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
|
|
|
|
#ifndef MOZILLA_GFX_TEXTUREHOSTBASIC_H_
|
|
|
|
#define MOZILLA_GFX_TEXTUREHOSTBASIC_H_
|
|
|
|
|
|
|
|
#include "CompositableHost.h"
|
|
|
|
#include "mozilla/layers/LayersSurfaces.h"
|
|
|
|
#include "mozilla/layers/TextureHost.h"
|
|
|
|
#include "mozilla/gfx/2D.h"
|
|
|
|
|
|
|
|
namespace mozilla {
|
|
|
|
namespace layers {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* A texture source interface that can be used by the software Compositor.
|
|
|
|
*/
|
|
|
|
class TextureSourceBasic
|
|
|
|
{
|
|
|
|
public:
|
2016-05-28 17:12:11 +03:00
|
|
|
TextureSourceBasic() : mFromYCBCR(false) {}
|
2013-12-04 04:20:04 +04:00
|
|
|
virtual ~TextureSourceBasic() {}
|
2014-05-08 03:23:44 +04:00
|
|
|
virtual gfx::SourceSurface* GetSurface(gfx::DrawTarget* aTarget) = 0;
|
2016-07-09 04:59:59 +03:00
|
|
|
virtual void SetBufferTextureHost(BufferTextureHost* aTexture) {}
|
2016-05-28 17:12:11 +03:00
|
|
|
bool mFromYCBCR; // we to track sources from YCBCR so we can use a less accurate fast path for video
|
2013-12-04 04:20:04 +04:00
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace layers
|
|
|
|
} // namespace mozilla
|
|
|
|
|
|
|
|
#endif // MOZILLA_GFX_TEXTUREHOSTBASIC_H_
|