blob: a174c92f4eed4e3dea52d5a2424cfc3749a4642f [file] [log] [blame]
/*
* Copyright 2022 Rive
*/
#ifndef _RIVE_CG_RENDERER_HPP_
#define _RIVE_CG_RENDERER_HPP_
#include "rive/renderer.hpp"
#if defined(RIVE_BUILD_FOR_OSX)
#include <ApplicationServices/ApplicationServices.h>
#elif defined(RIVE_BUILD_FOR_IOS)
#include <CoreGraphics/CoreGraphics.h>
#include <ImageIO/ImageIO.h>
#endif
namespace rive {
class CGRenderer : public Renderer {
protected:
CGContextRef m_ctx;
public:
CGRenderer(CGContextRef ctx, int width, int height);
~CGRenderer() override;
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