| /* | |
| * Copyright 2022 Rive | |
| */ | |
| #pragma once | |
| #include "rive/renderer/render_context_helper_impl.hpp" | |
| #include "rive/gpu_texture_format.hpp" | |
| #ifdef RIVE_CANVAS | |
| #include "rive/renderer/ore/ore_context.hpp" | |
| #endif | |
| class RenderContextNULL : public rive::gpu::RenderContextHelperImpl | |
| { | |
| public: | |
| static std::unique_ptr<rive::gpu::RenderContext> MakeContext(); | |
| RenderContextNULL(); | |
| #ifdef RIVE_CANVAS | |
| std::unique_ptr<rive::ore::Context> makeOreContext() override | |
| { | |
| return nullptr; | |
| } | |
| #endif | |
| 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 imageData[], | |
| uint8_t blockWidth = 1, | |
| uint8_t blockHeight = 1, | |
| bool srgb = false, | |
| bool generateRemainingMips = false) 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 resizeFeatherAtlasTexture(uint32_t width, uint32_t height) override {} | |
| void resizeCoverageBuffer(size_t) override {} | |
| void flush(const rive::gpu::FlushDescriptor&) override {} | |
| }; |