1 #ifndef LXGUI_GUI_MATRIX4_HPP
2 #define LXGUI_GUI_MATRIX4_HPP
4 #include "lxgui/gui_vector2.hpp"
5 #include "lxgui/lxgui.hpp"
7 #include <initializer_list>
20 element_type& operator()(std::
size_t row, std::
size_t col) noexcept {
21 return data[col + row * 4];
25 return data[col + row * 4];
49 element_type data[16] = {1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1};
std::ostream & operator<<(std::ostream &stream, const color &c)
color operator+(const color &c1, const color &c2) noexcept
color operator*(const color &c1, const color &c2) noexcept
color operator-(const color &c1, const color &c2) noexcept
A 4x4 matrix, used for coordinate transformations.
static matrix4f scaling(const vector2f &scale) noexcept
static const matrix4f identity
element_type operator()(std::size_t i) const noexcept
void transpose() noexcept
element_type & operator()(std::size_t i) noexcept
matrix4f() noexcept=default
static matrix4f translation(const vector2f &dx) noexcept
static matrix4f transformation(const vector2f &dx, const vector2f &scale, float rot) noexcept
static matrix4f view(const vector2f &window) noexcept
element_type operator()(std::size_t row, std::size_t col) const noexcept
static matrix4f rotation(float rot) noexcept