mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-22 12:55:58 +01:00
rename matrix model box to project box
This commit is contained in:
parent
e8c407d00e
commit
85a6939cf2
3 changed files with 14 additions and 12 deletions
|
@ -15,7 +15,8 @@ void wlr_matrix_transform(float mat[static 16],
|
|||
enum wl_output_transform transform);
|
||||
void wlr_matrix_texture(float mat[static 16], int32_t width, int32_t height,
|
||||
enum wl_output_transform transform);
|
||||
void wlr_matrix_box_model(float (*mat)[16], struct wlr_box *box,
|
||||
enum wl_output_transform transform, float rotation);
|
||||
void wlr_matrix_project_box(float (*mat)[16], struct wlr_box *box,
|
||||
enum wl_output_transform transform, float rotation, float
|
||||
(*projection)[16]);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -161,8 +161,9 @@ void wlr_matrix_texture(float mat[static 16], int32_t width, int32_t height,
|
|||
mat[15] = 1.0f;
|
||||
}
|
||||
|
||||
void wlr_matrix_box_model(float (*mat)[16], struct wlr_box *box,
|
||||
enum wl_output_transform transform, float rotation) {
|
||||
void wlr_matrix_project_box(float (*mat)[16], struct wlr_box *box,
|
||||
enum wl_output_transform transform, float rotation,
|
||||
float (*projection)[16]) {
|
||||
int x = box->x;
|
||||
int y = box->y;
|
||||
int width = box->width;
|
||||
|
@ -203,4 +204,6 @@ void wlr_matrix_box_model(float (*mat)[16], struct wlr_box *box,
|
|||
wlr_matrix_mul(mat, &surface_translate_origin,
|
||||
mat);
|
||||
}
|
||||
|
||||
wlr_matrix_mul(projection, mat, mat);
|
||||
}
|
||||
|
|
|
@ -52,16 +52,15 @@ static void render_surface(struct wlr_surface *surface,
|
|||
.width = render_width, .height = render_height,
|
||||
};
|
||||
if (wlr_output_layout_intersects(desktop->layout, wlr_output, &render_box)) {
|
||||
struct wlr_box model_box = {
|
||||
struct wlr_box project_box = {
|
||||
.x = ox,
|
||||
.y = oy,
|
||||
.width = render_width,
|
||||
.height = render_height,
|
||||
};
|
||||
float matrix[16];
|
||||
wlr_matrix_box_model(&matrix, &model_box, surface->current->transform,
|
||||
rotation);
|
||||
wlr_matrix_mul(&wlr_output->transform_matrix, &matrix, &matrix);
|
||||
wlr_matrix_project_box(&matrix, &project_box, surface->current->transform,
|
||||
rotation, &wlr_output->transform_matrix);
|
||||
wlr_render_with_matrix(desktop->server->renderer, surface->texture,
|
||||
&matrix);
|
||||
|
||||
|
@ -170,7 +169,7 @@ static void render_decorations(struct roots_view *view,
|
|||
ox *= output->scale;
|
||||
oy *= output->scale;
|
||||
|
||||
struct wlr_box model_box = {
|
||||
struct wlr_box project_box = {
|
||||
.x = ox,
|
||||
.y = oy,
|
||||
.width = deco_box.width,
|
||||
|
@ -178,9 +177,8 @@ static void render_decorations(struct roots_view *view,
|
|||
};
|
||||
|
||||
float matrix[16];
|
||||
wlr_matrix_box_model(&matrix, &model_box, WL_OUTPUT_TRANSFORM_NORMAL,
|
||||
view->rotation);
|
||||
wlr_matrix_mul(&output->transform_matrix, &matrix, &matrix);
|
||||
wlr_matrix_project_box(&matrix, &project_box, WL_OUTPUT_TRANSFORM_NORMAL,
|
||||
view->rotation, &output->transform_matrix);
|
||||
float color[4] = { 0.2, 0.2, 0.2, 1 };
|
||||
wlr_render_colored_quad(desktop->server->renderer, &color, &matrix);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue