2017-09-23 08:26:01 +00:00
|
|
|
#ifndef WLR_RENDER_MATRIX_H
|
|
|
|
#define WLR_RENDER_MATRIX_H
|
2017-06-08 01:35:07 +00:00
|
|
|
|
2017-08-06 09:38:40 +00:00
|
|
|
#include <stdint.h>
|
2018-01-21 20:53:29 +00:00
|
|
|
#include <wlr/types/wlr_box.h>
|
2017-08-06 09:38:40 +00:00
|
|
|
|
2017-06-08 01:35:07 +00:00
|
|
|
void wlr_matrix_identity(float (*output)[16]);
|
|
|
|
void wlr_matrix_translate(float (*output)[16], float x, float y, float z);
|
|
|
|
void wlr_matrix_scale(float (*output)[16], float x, float y, float z);
|
|
|
|
void wlr_matrix_rotate(float (*output)[16], float radians);
|
2017-06-08 19:52:42 +00:00
|
|
|
void wlr_matrix_mul(const float (*x)[16], const float (*y)[16], float (*product)[16]);
|
2017-06-08 01:35:07 +00:00
|
|
|
|
2017-08-06 09:38:40 +00:00
|
|
|
enum wl_output_transform;
|
2017-11-30 22:58:12 +00:00
|
|
|
void wlr_matrix_transform(float mat[static 16],
|
|
|
|
enum wl_output_transform transform);
|
2017-08-08 16:02:14 +00:00
|
|
|
void wlr_matrix_texture(float mat[static 16], int32_t width, int32_t height,
|
2017-08-06 09:38:40 +00:00
|
|
|
enum wl_output_transform transform);
|
2018-01-22 00:03:10 +00:00
|
|
|
void wlr_matrix_project_box(float (*mat)[16], struct wlr_box *box,
|
|
|
|
enum wl_output_transform transform, float rotation, float
|
|
|
|
(*projection)[16]);
|
2017-08-06 09:38:40 +00:00
|
|
|
|
2017-06-08 01:35:07 +00:00
|
|
|
#endif
|