ImageBufferShareableIOSurfaceBackend.cpp [plain text]
#include "config.h"
#include "ImageBufferShareableIOSurfaceBackend.h"
#if HAVE(IOSURFACE)
#include <WebCore/GraphicsContextCG.h>
#include <wtf/IsoMallocInlines.h>
#include <wtf/StdLibExtras.h>
namespace WebKit {
using namespace WebCore;
WTF_MAKE_ISO_ALLOCATED_IMPL(ImageBufferShareableIOSurfaceBackend);
std::unique_ptr<ImageBufferShareableIOSurfaceBackend> ImageBufferShareableIOSurfaceBackend::create(const Parameters& parameters, ImageBufferBackendHandle handle)
{
if (!WTF::holds_alternative<MachSendRight>(handle)) {
RELEASE_ASSERT_NOT_REACHED();
return nullptr;
}
return makeUnique<ImageBufferShareableIOSurfaceBackend>(parameters, WTFMove(handle));
}
ImageBufferBackendHandle ImageBufferShareableIOSurfaceBackend::createImageBufferBackendHandle() const
{
return WTF::get<MachSendRight>(m_handle).copySendRight();
}
GraphicsContext& ImageBufferShareableIOSurfaceBackend::context() const
{
RELEASE_ASSERT_NOT_REACHED();
return *(GraphicsContext*)nullptr;
}
RefPtr<NativeImage> ImageBufferShareableIOSurfaceBackend::copyNativeImage(BackingStoreCopy) const
{
RELEASE_ASSERT_NOT_REACHED();
return { };
}
RefPtr<Image> ImageBufferShareableIOSurfaceBackend::copyImage(BackingStoreCopy, PreserveResolution) const
{
RELEASE_ASSERT_NOT_REACHED();
return { };
}
void ImageBufferShareableIOSurfaceBackend::draw(GraphicsContext&, const FloatRect&, const FloatRect&, const ImagePaintingOptions&)
{
RELEASE_ASSERT_NOT_REACHED();
}
void ImageBufferShareableIOSurfaceBackend::drawPattern(GraphicsContext&, const FloatRect&, const FloatRect&, const AffineTransform&, const FloatPoint&, const FloatSize&, const ImagePaintingOptions&)
{
RELEASE_ASSERT_NOT_REACHED();
}
String ImageBufferShareableIOSurfaceBackend::toDataURL(const String&, Optional<double>, PreserveResolution) const
{
RELEASE_ASSERT_NOT_REACHED();
return { };
}
Vector<uint8_t> ImageBufferShareableIOSurfaceBackend::toData(const String&, Optional<double>) const
{
RELEASE_ASSERT_NOT_REACHED();
return { };
}
Vector<uint8_t> ImageBufferShareableIOSurfaceBackend::toBGRAData() const
{
RELEASE_ASSERT_NOT_REACHED();
return { };
}
RefPtr<ImageData> ImageBufferShareableIOSurfaceBackend::getImageData(AlphaPremultiplication, const IntRect&) const
{
RELEASE_ASSERT_NOT_REACHED();
return { };
}
void ImageBufferShareableIOSurfaceBackend::putImageData(AlphaPremultiplication, const ImageData&, const IntRect&, const IntPoint&, AlphaPremultiplication)
{
RELEASE_ASSERT_NOT_REACHED();
}
}
#endif // HAVE(IOSURFACE)