blob: 392c1153decf69c5d24ccd4ce62496951e29a4b0 [file]
/*
* Copyright 2022 Rive
*/
#pragma once
#include "rive/renderer/render_context_helper_impl.hpp"
#include "rive/texture_archive.hpp"
class RenderContextNULL : public rive::gpu::RenderContextHelperImpl
{
public:
static std::unique_ptr<rive::gpu::RenderContext> MakeContext();
RenderContextNULL();
rive::rcp<rive::gpu::RenderTarget> makeRenderTarget(uint32_t width,
uint32_t height);
private:
rive::rcp<rive::RenderBuffer> makeRenderBuffer(rive::RenderBufferType,
rive::RenderBufferFlags,
size_t) override;
rive::rcp<rive::gpu::Texture> makeImageTexture(
uint32_t width,
uint32_t height,
uint32_t mipLevelCount,
rive::GPUTextureFormat format,
const uint8_t imageDataRGBA[]) override;
std::unique_ptr<rive::gpu::BufferRing> makeUniformBufferRing(
size_t capacityInBytes) override;
std::unique_ptr<rive::gpu::BufferRing> makeStorageBufferRing(
size_t capacityInBytes,
rive::gpu::StorageBufferStructure) override;
std::unique_ptr<rive::gpu::BufferRing> makeVertexBufferRing(
size_t capacityInBytes) override;
void resizeGradientTexture(uint32_t width, uint32_t height) override {}
void resizeTessellationTexture(uint32_t width, uint32_t height) override {}
void resizeAtlasTexture(uint32_t width, uint32_t height) override {}
void resizeCoverageBuffer(size_t) override {}
void flush(const rive::gpu::FlushDescriptor&) override {}
};