blob: 60a1e7609b957326b411a86be5d836a47b34d32d [file]
#ifndef _RIVE_SHAPE_PAINT_CONTAINER_HPP_
#define _RIVE_SHAPE_PAINT_CONTAINER_HPP_
#include "shapes/paint/blend_mode.hpp"
#include "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 invalidateStrokeEffects();
CommandPath* makeCommandPath(PathSpace space);
};
} // namespace rive
#endif