blob: d00b832e693c8df887f2d22eefdc27004fcd2463 [file] [log] [blame]
#ifndef _RIVE_SHAPE_PAINT_CONTAINER_HPP_
#define _RIVE_SHAPE_PAINT_CONTAINER_HPP_
#include "rive/shapes/paint/blend_mode.hpp"
#include "rive/shapes/path_space.hpp"
#include <vector>
namespace rive
{
class ShapePaint;
class Component;
class CommandPath;
class ShapePaintContainer
{
friend class ShapePaint;
protected:
PathSpace m_DefaultPathSpace = PathSpace::Neither;
std::vector<ShapePaint*> m_ShapePaints;
void addPaint(ShapePaint* paint);
// TODO: void draw(Renderer* renderer, PathComposer& composer);
public:
static ShapePaintContainer* from(Component* component);
PathSpace pathSpace() const;
void invalidateStroke();
CommandPath* makeCommandPath(PathSpace space);
};
} // namespace rive
#endif