14#include <AUI/Reflect/AEnumerate.h>
16enum class ALayoutDirection {
23 ALayoutDirection::NONE,
24 ALayoutDirection::HORIZONTAL,
25 ALayoutDirection::VERTICAL)
27namespace aui::layout_direction {
30inline T& getAxisValue(ALayoutDirection direction, glm::tvec2<T>& v) {
32 case ALayoutDirection::VERTICAL :
return v.y;
33 case ALayoutDirection::HORIZONTAL:
return v.x;
34 default:
throw AException(
"invalid direction");
40inline T getAxisValue(ALayoutDirection direction,
const glm::tvec2<T>& v) {
42 case ALayoutDirection::VERTICAL :
return v.y;
43 case ALayoutDirection::HORIZONTAL:
return v.x;
44 default:
throw AException(
"invalid direction");
50inline T& getPerpendicularAxisValue(ALayoutDirection direction, glm::tvec2<T>& v) {
52 case ALayoutDirection::VERTICAL :
return v.x;
53 case ALayoutDirection::HORIZONTAL:
return v.y;
54 default:
throw AException(
"invalid direction");
60inline T getPerpendicularAxisValue(ALayoutDirection direction,
const glm::tvec2<T>& v) {
62 case ALayoutDirection::VERTICAL :
return v.x;
63 case ALayoutDirection::HORIZONTAL:
return v.y;
64 default:
throw AException(
"invalid direction");
#define AUI_ENUM_VALUES(enum_t,...)
Defines all enum values for AEnumerate.
Definition AEnumerate.h:208