MyScript Interactive Ink SDK 4.3.0
IRenderTarget.h
1// Copyright @ MyScript. All rights reserved.
2
3#pragma once
4
5#include <memory>
6
7namespace myscript {
8namespace iink {
9
10namespace graphics {
11class ICanvas;
12}
13
14class Renderer;
15
20{
21 MODEL = 1 << 0,
22 CAPTURE = 1 << 1,
23 LayerType_ALL = (1 << 2) - 1,
24};
25
30{
31public:
32 virtual ~IRenderTarget() = default;
33
40 virtual void invalidate(std::shared_ptr<Renderer> renderer, std::underlying_type<LayerType>::type layers) = 0;
41
53 virtual void invalidate(std::shared_ptr<Renderer> renderer, int x, int y, int width, int height, std::underlying_type<LayerType>::type layers) = 0;
54
62 virtual bool supportsOffscreenRendering() { return false; }
63
71 virtual float getPixelDensity() { return 1.0f; }
72
90 virtual uint32_t createOffscreenRenderSurface(int width, int height, bool alphaMask) { return (uint32_t)-1; };
91
100 virtual void releaseOffscreenRenderSurface(uint32_t surfaceId) {}
101
112 virtual std::shared_ptr<graphics::ICanvas> createOffscreenRenderCanvas(uint32_t surfaceId) { return nullptr; }
113
122};
123
124}
125}
Definition: IRenderTarget.h:30
virtual uint32_t createOffscreenRenderSurface(int width, int height, bool alphaMask)
Definition: IRenderTarget.h:90
virtual float getPixelDensity()
Definition: IRenderTarget.h:71
virtual void releaseOffscreenRenderSurface(uint32_t surfaceId)
Definition: IRenderTarget.h:100
virtual std::shared_ptr< graphics::ICanvas > createOffscreenRenderCanvas(uint32_t surfaceId)
Definition: IRenderTarget.h:112
virtual ~IRenderTarget()=default
virtual bool supportsOffscreenRendering()
Definition: IRenderTarget.h:62
virtual void invalidate(std::shared_ptr< Renderer > renderer, int x, int y, int width, int height, std::underlying_type< LayerType >::type layers)=0
virtual void invalidate(std::shared_ptr< Renderer > renderer, std::underlying_type< LayerType >::type layers)=0
virtual void releaseOffscreenRenderCanvas(graphics::ICanvas *canvas)
Definition: IRenderTarget.h:121
Definition: ICanvas.h:26
LayerType
Definition: IRenderTarget.h:20
@ LayerType_ALL
Definition: IRenderTarget.h:23
@ MODEL
Definition: IRenderTarget.h:21
@ CAPTURE
Definition: IRenderTarget.h:22
Definition: Configuration.h:10