mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-12-14 08:56:26 -05:00
matrix: unify API, don't use array pointers
This commit is contained in:
parent
b6a3f240c7
commit
d26b67cb06
18 changed files with 172 additions and 167 deletions
|
|
@ -102,7 +102,7 @@ static void handle_output_frame(struct output_state *output,
|
|||
|
||||
wlr_output_make_current(wlr_output, NULL);
|
||||
wlr_renderer_begin(sample->renderer, wlr_output);
|
||||
wlr_renderer_clear(sample->renderer, &(float[]){0.25f, 0.25f, 0.25f, 1});
|
||||
wlr_renderer_clear(sample->renderer, (float[]){0.25f, 0.25f, 0.25f, 1});
|
||||
|
||||
animate_cat(sample, output->output);
|
||||
|
||||
|
|
@ -119,10 +119,10 @@ static void handle_output_frame(struct output_state *output,
|
|||
wlr_output_layout_output_coords(sample->layout, output->output,
|
||||
&local_x, &local_y);
|
||||
|
||||
wlr_texture_get_matrix(sample->cat_texture, &matrix,
|
||||
&wlr_output->transform_matrix, local_x, local_y);
|
||||
wlr_texture_get_matrix(sample->cat_texture, matrix,
|
||||
wlr_output->transform_matrix, local_x, local_y);
|
||||
wlr_render_with_matrix(sample->renderer,
|
||||
sample->cat_texture, &matrix, 1.0f);
|
||||
sample->cat_texture, matrix, 1.0f);
|
||||
}
|
||||
|
||||
wlr_renderer_end(sample->renderer);
|
||||
|
|
|
|||
|
|
@ -44,15 +44,15 @@ static void handle_output_frame(struct output_state *output, struct timespec *ts
|
|||
|
||||
wlr_output_make_current(wlr_output, NULL);
|
||||
wlr_renderer_begin(sample->renderer, wlr_output);
|
||||
wlr_renderer_clear(sample->renderer, &(float[]){0.25f, 0.25f, 0.25f, 1});
|
||||
wlr_renderer_clear(sample->renderer, (float[]){0.25f, 0.25f, 0.25f, 1});
|
||||
|
||||
float matrix[16];
|
||||
for (int y = -128 + (int)odata->y_offs; y < height; y += 128) {
|
||||
for (int x = -128 + (int)odata->x_offs; x < width; x += 128) {
|
||||
wlr_texture_get_matrix(sample->cat_texture, &matrix,
|
||||
&wlr_output->transform_matrix, x, y);
|
||||
wlr_texture_get_matrix(sample->cat_texture, matrix,
|
||||
wlr_output->transform_matrix, x, y);
|
||||
wlr_render_with_matrix(sample->renderer,
|
||||
sample->cat_texture, &matrix, 1.0f);
|
||||
sample->cat_texture, matrix, 1.0f);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ static void handle_output_frame(struct output_state *output, struct timespec *ts
|
|||
|
||||
wlr_output_make_current(wlr_output, NULL);
|
||||
wlr_renderer_begin(sample->renderer, wlr_output);
|
||||
wlr_renderer_clear(sample->renderer, &(float[]){0.25f, 0.25f, 0.25f, 1});
|
||||
wlr_renderer_clear(sample->renderer, (float[]){0.25f, 0.25f, 0.25f, 1});
|
||||
|
||||
float matrix[16];
|
||||
float distance = 0.8f * (1 - sample->distance);
|
||||
|
|
@ -65,9 +65,8 @@ static void handle_output_frame(struct output_state *output, struct timespec *ts
|
|||
.x = left, .y = top,
|
||||
.width = pad_width, .height = pad_height,
|
||||
};
|
||||
wlr_matrix_project_box(&matrix, &box, 0, 0,
|
||||
&wlr_output->transform_matrix);
|
||||
wlr_render_colored_quad(sample->renderer, &sample->pad_color, &matrix);
|
||||
wlr_matrix_project_box(matrix, &box, 0, 0, wlr_output->transform_matrix);
|
||||
wlr_render_colored_quad(sample->renderer, sample->pad_color, matrix);
|
||||
|
||||
if (sample->proximity) {
|
||||
struct wlr_box box = {
|
||||
|
|
@ -76,16 +75,16 @@ static void handle_output_frame(struct output_state *output, struct timespec *ts
|
|||
.width = 16 * (sample->pressure + 1),
|
||||
.height = 16 * (sample->pressure + 1),
|
||||
};
|
||||
wlr_matrix_project_box(&matrix, &box, 0, sample->ring,
|
||||
&wlr_output->transform_matrix);
|
||||
wlr_render_colored_quad(sample->renderer, &tool_color, &matrix);
|
||||
wlr_matrix_project_box(matrix, &box, 0, sample->ring,
|
||||
wlr_output->transform_matrix);
|
||||
wlr_render_colored_quad(sample->renderer, tool_color, matrix);
|
||||
box.x += sample->x_tilt;
|
||||
box.y += sample->y_tilt;
|
||||
box.width /= 2;
|
||||
box.height /= 2;
|
||||
wlr_matrix_project_box(&matrix, &box, 0, 0,
|
||||
&wlr_output->transform_matrix);
|
||||
wlr_render_colored_quad(sample->renderer, &tool_color, &matrix);
|
||||
wlr_matrix_project_box(matrix, &box, 0, 0,
|
||||
wlr_output->transform_matrix);
|
||||
wlr_render_colored_quad(sample->renderer, tool_color, matrix);
|
||||
}
|
||||
|
||||
wlr_renderer_end(sample->renderer);
|
||||
|
|
|
|||
|
|
@ -43,17 +43,17 @@ static void handle_output_frame(struct output_state *output, struct timespec *ts
|
|||
|
||||
wlr_output_make_current(wlr_output, NULL);
|
||||
wlr_renderer_begin(sample->renderer, wlr_output);
|
||||
wlr_renderer_clear(sample->renderer, &(float[]){0.25f, 0.25f, 0.25f, 1});
|
||||
wlr_renderer_clear(sample->renderer, (float[]){0.25f, 0.25f, 0.25f, 1});
|
||||
|
||||
float matrix[16];
|
||||
struct touch_point *p;
|
||||
wl_list_for_each(p, &sample->touch_points, link) {
|
||||
wlr_texture_get_matrix(sample->cat_texture, &matrix,
|
||||
&wlr_output->transform_matrix,
|
||||
wlr_texture_get_matrix(sample->cat_texture, matrix,
|
||||
wlr_output->transform_matrix,
|
||||
(int)(p->x * width) - sample->cat_texture->width / 2,
|
||||
(int)(p->y * height) - sample->cat_texture->height / 2);
|
||||
wlr_render_with_matrix(sample->renderer,
|
||||
sample->cat_texture, &matrix, 1.0f);
|
||||
wlr_render_with_matrix(sample->renderer, sample->cat_texture,
|
||||
matrix, 1.0f);
|
||||
}
|
||||
|
||||
wlr_renderer_end(sample->renderer);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue