blob: 86e3db82ee4cb7199bdfd16425a078c36eb97442 [file] [log] [blame]
#ifndef _RIVE_DATA_CONVERTER_HPP_
#define _RIVE_DATA_CONVERTER_HPP_
#include "rive/generated/data_bind/converters/data_converter_base.hpp"
#include "rive/data_bind/data_values/data_value.hpp"
#include "rive/data_bind/data_context.hpp"
#include "rive/data_bind/data_bind_container.hpp"
#include <stdio.h>
namespace rive
{
class DataBind;
class DataConverter : public DataConverterBase, public DataBindContainer
{
public:
~DataConverter();
virtual DataValue* convert(DataValue* value, DataBind* dataBind)
{
return value;
};
virtual DataValue* reverseConvert(DataValue* value, DataBind* dataBind)
{
return value;
};
virtual DataType outputType() { return DataType::none; };
virtual void bindFromContext(DataContext* dataContext, DataBind* dataBind);
virtual void unbind();
StatusCode import(ImportStack& importStack) override;
void markConverterDirty();
virtual void update();
void copy(const DataConverter& object);
virtual bool advance(float elapsedTime);
void addDirtyDataBind(DataBind*) override;
virtual void reset() {};
protected:
DataBind* m_parentDataBind;
};
} // namespace rive
#endif