aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2018-03-17 15:22:00 -0400
committerGitHub <noreply@github.com>2018-03-17 15:22:00 -0400
commit1956d3cedb533fb44a7f6a446afe84572838ca39 (patch)
treed39aed6d0c9b6b1cb88d5666197570886239253f /examples
parent09413aa7f1eab176c12675217a17ebe367fa7d8f (diff)
parentf1cbbac636d59d22373883f6bc85f8863e01c8c5 (diff)
Merge pull request #722 from emersion/matrix-redesign
Matrix redesign
Diffstat (limited to 'examples')
-rw-r--r--examples/multi-pointer.c2
-rw-r--r--examples/output-layout.c12
-rw-r--r--examples/pointer.c2
-rw-r--r--examples/rotation.c11
-rw-r--r--examples/tablet.c23
-rw-r--r--examples/touch.c15
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);