aboutsummaryrefslogtreecommitdiff
path: root/src/output.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/output.zig')
-rw-r--r--src/output.zig20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/output.zig b/src/output.zig
index 6f96a61..f0f1118 100644
--- a/src/output.zig
+++ b/src/output.zig
@@ -55,8 +55,8 @@ pub const Output = struct {
fn handle_frame(listener: ?*c.wl_listener, data: ?*c_void) callconv(.C) void {
// This function is called every time an output is ready to display a frame,
// generally at the output's refresh rate (e.g. 60Hz).
- var output = @fieldParentPtr(Output, "listen_frame", listener.?);
- var renderer = output.server.wlr_renderer;
+ const output = @fieldParentPtr(Output, "listen_frame", listener.?);
+ const renderer = output.server.wlr_renderer;
var now: c.struct_timespec = undefined;
_ = c.clock_gettime(c.CLOCK_MONOTONIC, &now);
@@ -79,7 +79,7 @@ pub const Output = struct {
// The first view in the list is "on top" so iterate in reverse.
var it = output.server.views.last;
while (it) |node| : (it = node.prev) {
- var view = &node.data;
+ const view = &node.data;
if (!view.mapped) {
// An unmapped view should not be rendered.
continue;
@@ -112,18 +112,18 @@ pub const Output = struct {
fn render_surface(opt_surface: ?*c.wlr_surface, sx: c_int, sy: c_int, data: ?*c_void) callconv(.C) void {
// wlroots says this will never be null
- var surface = opt_surface.?;
+ const surface = opt_surface.?;
// This function is called for every surface that needs to be rendered.
- var rdata = @ptrCast(*RenderData, @alignCast(@alignOf(RenderData), data));
- var view = rdata.view;
- var output = rdata.output;
+ const rdata = @ptrCast(*RenderData, @alignCast(@alignOf(RenderData), data));
+ const view = rdata.view;
+ const output = rdata.output;
// We first obtain a wlr_texture, which is a GPU resource. wlroots
// automatically handles negotiating these with the client. The underlying
// resource could be an opaque handle passed from the client, or the client
// could have sent a pixel buffer which we copied to the GPU, or a few other
// means. You don't have to worry about this, wlroots takes care of it.
- var texture = c.wlr_surface_get_texture(surface);
+ const texture = c.wlr_surface_get_texture(surface);
if (texture == null) {
return;
}
@@ -140,7 +140,7 @@ pub const Output = struct {
// We also have to apply the scale factor for HiDPI outputs. This is only
// part of the puzzle, TinyWL does not fully support HiDPI.
- var box = c.wlr_box{
+ const box = c.wlr_box{
.x = @floatToInt(c_int, ox * output.scale),
.y = @floatToInt(c_int, oy * output.scale),
.width = @floatToInt(c_int, @intToFloat(f32, surface.current.width) * output.scale),
@@ -157,7 +157,7 @@ pub const Output = struct {
// Naturally you can do this any way you like, for example to make a 3D
// compositor.
var matrix: [9]f32 = undefined;
- var transform = c.wlr_output_transform_invert(surface.current.transform);
+ const transform = c.wlr_output_transform_invert(surface.current.transform);
c.wlr_matrix_project_box(&matrix, &box, transform, 0.0, &output.transform_matrix);
// This takes our matrix, the texture, and an alpha, and performs the actual