blob: 5afc87bb3a35c3c2cf0eabbdc415a0ef5f24c1c5 [file] [log] [blame]
/*
* Copyright 2022 Rive
*/
#ifndef _RIVE_SKIA_RENDERER_HPP_
#define _RIVE_SKIA_RENDERER_HPP_
#include "rive/renderer.hpp"
class SkCanvas;
namespace rive {
class SkiaRenderer : public Renderer {
protected:
SkCanvas* m_Canvas;
public:
SkiaRenderer(SkCanvas* canvas) : m_Canvas(canvas) {}
void save() override;
void restore() override;
void transform(const Mat2D& transform) override;
void clipPath(RenderPath* path) override;
void drawPath(RenderPath* path, RenderPaint* paint) override;
void drawImage(const RenderImage*, BlendMode, float opacity) override;
void drawImageMesh(const RenderImage*,
rcp<RenderBuffer> vertices_f32,
rcp<RenderBuffer> uvCoords_f32,
rcp<RenderBuffer> indices_u16,
BlendMode,
float opacity) override;
};
} // namespace rive
#endif