#pragma once /// \file toggle_property.h /// \author Folling #include /// \addtogroup properties Properties /// \brief Toggle properties store a value that can be either true or false. (e.g. "Is the character dead?") /// @{ IKARUS_BEGIN_HEADER struct IkarusToggleProperty; IKA_API IkarusToggleProperty * ikarus_toggle_property_create( struct IkarusProject * project, char const * name, struct IkarusPropertySource * property_source ); /// \brief Sets the default value for a toggle property. /// \param property The toggle property. /// \pre \li Must not be null. /// \pre \li Must exist. /// \remark The settings take ownership of the value, the caller must not free it. IKA_API struct IkarusToggleValue * ikarus_toggle_property_get_default_value(struct IkarusToggleProperty * property); /// \brief Sets the default value for a toggle property. /// \param property The toggle property. /// \pre \li Must not be null. /// \pre \li Must exist. /// \param default_value The default value. /// \pre \li Must not be null. /// \pre \li Must be a valid value for the property. /// \remark Please see \ref property.h "the property documentation" for more information on the interplay between default values /// and other settings. IKA_API void ikarus_toggle_property_set_default_value( struct IkarusToggleProperty * property, struct IkarusToggleValue * default_value ); IKARUS_END_HEADER /// @}