#ifndef _RIVE_LAYOUT_HPP_
#define _RIVE_LAYOUT_HPP_
namespace rive
{
	enum class Fit : unsigned char
	{
		fill,
		contain,
		cover,
		fitWidth,
		fitHeight,
		none,
		scaleDown
	};

	class Alignment
	{
	private:
		float m_X, m_Y;

	public:
		Alignment(float x, float y) : m_X(x), m_Y(y) {}

		float x() const { return m_X; }
		float y() const { return m_Y; }

		static const Alignment topLeft;
		static const Alignment topCenter;
		static const Alignment topRight;
		static const Alignment centerLeft;
		static const Alignment center;
		static const Alignment centerRight;
		static const Alignment bottomLeft;
		static const Alignment bottomCenter;
		static const Alignment bottomRight;
	};

} // namespace rive
#endif