#ifndef INCLUDE_WAYLANDCLIENT_MATRIX_H_ #define INCLUDE_WAYLANDCLIENT_MATRIX_H_ #include "types.h" struct mat3x3 { float m11, m21, m31, _p1; float m12, m22, m32, _p2; float m13, m23, m33, _p3; }; #define IDENT3x3 \ (struct mat3x3){.m11 = 1.f, \ .m21 = 0.f, \ .m31 = 0.f, \ .m12 = 0.f, \ .m22 = 1.f, \ .m32 = 0.f, \ .m13 = 0.f, \ .m23 = 0.f, \ .m33 = 1.f} struct mat3x3 multiply3x3(struct mat3x3 a, struct mat3x3 b); struct mat3x3 translate3x3(struct Vec2 offset); struct mat3x3 rotate3x3(float alpha); struct mat3x3 scale3x3(struct Vec2 scale); #endif // INCLUDE_WAYLANDCLIENT_MATRIX_H_