blob: 4c5a1ca6e91f51700786a466e4fcec64abe7d7f9 [file]
#ifndef _RIVE_VIEW_MODEL_PROPERTY_HPP_
#define _RIVE_VIEW_MODEL_PROPERTY_HPP_
#include "rive/generated/viewmodel/viewmodel_property_base.hpp"
#include <stdio.h>
namespace rive
{
class ViewModelProperty : public ViewModelPropertyBase
{
public:
enum class Direction : uint8_t
{
none = 0,
input = 1,
output = 2,
both = 3,
};
StatusCode import(ImportStack& importStack) override;
inline const std::string& constName() const { return m_Name; }
/// Direction is stored in bits 0–1 of componentProps.
Direction direction() const
{
return static_cast<Direction>(componentProps() & 0x3);
}
bool isInput() const
{
auto d = direction();
return d == Direction::input || d == Direction::both;
}
bool isOutput() const
{
auto d = direction();
return d == Direction::output || d == Direction::both;
}
};
} // namespace rive
#endif