diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-03-17 15:22:00 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-17 15:22:00 -0400 |
commit | 1956d3cedb533fb44a7f6a446afe84572838ca39 (patch) | |
tree | d39aed6d0c9b6b1cb88d5666197570886239253f /examples | |
parent | 09413aa7f1eab176c12675217a17ebe367fa7d8f (diff) | |
parent | f1cbbac636d59d22373883f6bc85f8863e01c8c5 (diff) |
Merge pull request #722 from emersion/matrix-redesign
Matrix redesign
Diffstat (limited to 'examples')
-rw-r--r-- | examples/multi-pointer.c | 2 | ||||
-rw-r--r-- | examples/output-layout.c | 12 | ||||
-rw-r--r-- | examples/pointer.c | 2 | ||||
-rw-r--r-- | examples/rotation.c | 11 | ||||
-rw-r--r-- | examples/tablet.c | 23 | ||||
-rw-r--r-- | examples/touch.c | 15 |
6 files changed, 27 insertions, 38 deletions
diff --git a/examples/multi-pointer.c b/examples/multi-pointer.c index d3d425f2..6e56bfdc 100644 --- a/examples/multi-pointer.c +++ b/examples/multi-pointer.c @@ -11,7 +11,7 @@ #include <wayland-server-protocol.h> #include <xkbcommon/xkbcommon.h> #include <GLES2/gl2.h> -#include <wlr/render/matrix.h> +#include <wlr/types/wlr_matrix.h> #include <wlr/render/gles2.h> #include <wlr/render.h> #include <wlr/backend.h> diff --git a/examples/output-layout.c b/examples/output-layout.c index 45257be9..8f506208 100644 --- a/examples/output-layout.c +++ b/examples/output-layout.c @@ -11,7 +11,7 @@ #include <wayland-server-protocol.h> #include <xkbcommon/xkbcommon.h> #include <GLES2/gl2.h> -#include <wlr/render/matrix.h> +#include <wlr/types/wlr_matrix.h> #include <wlr/render/gles2.h> #include <wlr/render.h> #include <wlr/util/log.h> @@ -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); @@ -111,18 +111,14 @@ static void handle_output_frame(struct output_state *output, .width = 128, .height = 128, }; if (wlr_output_layout_intersects(sample->layout, output->output, &box)) { - float matrix[16]; - // transform global coordinates to local coordinates double local_x = sample->x_offs; double local_y = sample->y_offs; 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_render_with_matrix(sample->renderer, - sample->cat_texture, &matrix, 1.0f); + wlr_render_texture(sample->renderer, sample->cat_texture, + wlr_output->transform_matrix, local_x, local_y, 1.0f); } wlr_renderer_end(sample->renderer); diff --git a/examples/pointer.c b/examples/pointer.c index 0dbd02d2..e80b346a 100644 --- a/examples/pointer.c +++ b/examples/pointer.c @@ -11,7 +11,7 @@ #include <wayland-server-protocol.h> #include <xkbcommon/xkbcommon.h> #include <GLES2/gl2.h> -#include <wlr/render/matrix.h> +#include <wlr/types/wlr_matrix.h> #include <wlr/render/gles2.h> #include <wlr/render.h> #include <wlr/backend.h> diff --git a/examples/rotation.c b/examples/rotation.c index 1158ccc4..aaf006cf 100644 --- a/examples/rotation.c +++ b/examples/rotation.c @@ -10,7 +10,7 @@ #include <wayland-server-protocol.h> #include <xkbcommon/xkbcommon.h> #include <GLES2/gl2.h> -#include <wlr/render/matrix.h> +#include <wlr/types/wlr_matrix.h> #include <wlr/render/gles2.h> #include <wlr/render.h> #include <wlr/backend.h> @@ -44,15 +44,12 @@ 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_render_with_matrix(sample->renderer, - sample->cat_texture, &matrix, 1.0f); + wlr_render_texture(sample->renderer, sample->cat_texture, + wlr_output->transform_matrix, x, y, 1.0f); } } diff --git a/examples/tablet.c b/examples/tablet.c index 5bfa1271..521447b9 100644 --- a/examples/tablet.c +++ b/examples/tablet.c @@ -9,7 +9,7 @@ #include <wayland-server-protocol.h> #include <xkbcommon/xkbcommon.h> #include <GLES2/gl2.h> -#include <wlr/render/matrix.h> +#include <wlr/types/wlr_matrix.h> #include <wlr/render/gles2.h> #include <wlr/render.h> #include <wlr/backend.h> @@ -47,9 +47,9 @@ 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 matrix[9]; float distance = 0.8f * (1 - sample->distance); float tool_color[4] = { distance, distance, distance, 1 }; for (size_t i = 0; sample->button && i < 4; ++i) { @@ -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); diff --git a/examples/touch.c b/examples/touch.c index 278252cc..0af8bc4a 100644 --- a/examples/touch.c +++ b/examples/touch.c @@ -11,7 +11,7 @@ #include <wayland-server-protocol.h> #include <xkbcommon/xkbcommon.h> #include <GLES2/gl2.h> -#include <wlr/render/matrix.h> +#include <wlr/types/wlr_matrix.h> #include <wlr/render/gles2.h> #include <wlr/render.h> #include <wlr/backend.h> @@ -43,17 +43,14 @@ 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, - (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); + int x = (int)(p->x * width) - sample->cat_texture->width / 2; + int y = (int)(p->y * height) - sample->cat_texture->height / 2; + wlr_render_texture(sample->renderer, sample->cat_texture, + wlr_output->transform_matrix, x, y, 1.0f); } wlr_renderer_end(sample->renderer); |