commit 350c98104e552e8a2d5619145f0331a8bd82bb91
parent 6bdc9ba0da891c11d9c73d551b6fb3784a558bd7
Author: Andrea Feletto <andrea@andreafeletto.com>
Date: Thu, 28 Apr 2022 22:21:14 +0200
split Bar.zig
Diffstat:
2 files changed, 36 insertions(+), 30 deletions(-)
diff --git a/src/Bar.zig b/src/Bar.zig
@@ -7,7 +7,7 @@ const zwlr = @import("wayland").client.zwlr;
const Buffer = @import("Buffer.zig");
const Monitor = @import("Monitor.zig");
const render = @import("render.zig");
-const State = @import("main.zig").State;
+const Widget = @import("Widget.zig");
const Bar = @This();
monitor: *Monitor,
@@ -26,35 +26,6 @@ configured: bool,
width: u16,
height: u16,
-pub const Widget = struct {
- surface: *wl.Surface,
- subsurface: *wl.Subsurface,
- buffers: [2]Buffer,
-
- pub fn init(state: *State, background: *wl.Surface) !Widget {
- const globals = &state.wayland.globals;
-
- const surface = try globals.compositor.createSurface();
- const subsurface = try globals.subcompositor.getSubsurface(
- surface,
- background,
- );
-
- return Widget{
- .surface = surface,
- .subsurface = subsurface,
- .buffers = mem.zeroes([2]Buffer),
- };
- }
-
- pub fn deinit(self: *Widget) void {
- self.surface.destroy();
- self.subsurface.destroy();
- self.buffers[0].deinit();
- self.buffers[1].deinit();
- }
-};
-
pub fn create(monitor: *Monitor) !*Bar {
const state = monitor.state;
const globals = &state.wayland.globals;
diff --git a/src/Widget.zig b/src/Widget.zig
@@ -0,0 +1,35 @@
+const std = @import("std");
+const mem = std.mem;
+
+const wl = @import("wayland").client.wl;
+
+const Buffer = @import("Buffer.zig");
+const State = @import("main.zig").State;
+const Widget = @This();
+
+surface: *wl.Surface,
+subsurface: *wl.Subsurface,
+buffers: [2]Buffer,
+
+pub fn init(state: *State, background: *wl.Surface) !Widget {
+ const globals = &state.wayland.globals;
+
+ const surface = try globals.compositor.createSurface();
+ const subsurface = try globals.subcompositor.getSubsurface(
+ surface,
+ background,
+ );
+
+ return Widget{
+ .surface = surface,
+ .subsurface = subsurface,
+ .buffers = mem.zeroes([2]Buffer),
+ };
+}
+
+pub fn deinit(self: *Widget) void {
+ self.surface.destroy();
+ self.subsurface.destroy();
+ self.buffers[0].deinit();
+ self.buffers[1].deinit();
+}