blob: 781f0be964e72f012c51ba4206fa140093a86fe7 [file] [log] [blame]
/*
* Copyright 2022 Rive
*/
#pragma once
#include "rive/factory.hpp"
namespace rive::pls
{
// Partial rive::Factory implementation for the PLS objects that are backend-agnostic.
class PLSFactory : public Factory
{
public:
rcp<RenderShader> makeLinearGradient(float sx,
float sy,
float ex,
float ey,
const ColorInt colors[], // [count]
const float stops[], // [count]
size_t count) override;
rcp<RenderShader> makeRadialGradient(float cx,
float cy,
float radius,
const ColorInt colors[], // [count]
const float stops[], // [count]
size_t count) override;
rcp<RenderPath> makeRenderPath(RawPath&, FillRule) override;
rcp<RenderPath> makeEmptyRenderPath() override;
rcp<RenderPaint> makeRenderPaint() override;
};
} // namespace rive::pls