blob: 13ee2be783e1cbad0ac8999d7ac5dc0cfeb6e4cd [file]
#ifndef _RIVE_DRAW_TARGET_HPP_
#define _RIVE_DRAW_TARGET_HPP_
#include "draw_target_placement.hpp"
#include "generated/draw_target_base.hpp"
#include <stdio.h>
namespace rive
{
class Drawable;
class Artboard;
class DrawTarget : public DrawTargetBase
{
friend class Artboard;
private:
Drawable* m_Drawable = nullptr;
// Controlled by the artboard.
Drawable* first = nullptr;
Drawable* last = nullptr;
public:
Drawable* drawable() const { return m_Drawable; }
StatusCode onAddedDirty(CoreContext* context) override;
StatusCode onAddedClean(CoreContext* context) override;
DrawTargetPlacement placement() const
{
return (DrawTargetPlacement)placementValue();
}
protected:
void placementValueChanged() override;
};
} // namespace rive
#endif