Rewrite core protocol structs to be more concise
parent
47c57a5b87
commit
1542a95499
158
src/core.zig
158
src/core.zig
|
@ -1,42 +1,24 @@
|
||||||
pub const Display = struct {
|
pub const Display = struct {
|
||||||
pub const Request = union(Request.Tag) {
|
pub const Request = union(enum) {
|
||||||
sync: Sync,
|
sync: struct {
|
||||||
get_registry: GetRegistry,
|
|
||||||
|
|
||||||
pub const Tag = enum(u16) {
|
|
||||||
sync,
|
|
||||||
get_registry,
|
|
||||||
};
|
|
||||||
|
|
||||||
pub const Sync = struct {
|
|
||||||
/// new_id<wl_callback>
|
/// new_id<wl_callback>
|
||||||
callback: u32,
|
callback: u32,
|
||||||
};
|
},
|
||||||
|
get_registry: struct {
|
||||||
pub const GetRegistry = struct {
|
|
||||||
/// new_id<wl_registry>
|
/// new_id<wl_registry>
|
||||||
registry: u32,
|
registry: u32,
|
||||||
};
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
pub const Event = union(Event.Tag) {
|
pub const Event = union(enum) {
|
||||||
@"error": Event.Error,
|
@"error": struct {
|
||||||
delete_id: DeleteId,
|
|
||||||
|
|
||||||
pub const Tag = enum(u16) {
|
|
||||||
@"error",
|
|
||||||
delete_id,
|
|
||||||
};
|
|
||||||
|
|
||||||
pub const Error = struct {
|
|
||||||
object_id: u32,
|
object_id: u32,
|
||||||
code: u32,
|
code: u32,
|
||||||
message: []const u8,
|
message: []const u8,
|
||||||
};
|
},
|
||||||
|
delete_id: struct {
|
||||||
pub const DeleteId = struct {
|
|
||||||
name: u32,
|
name: u32,
|
||||||
};
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
pub const Error = enum(u32) {
|
pub const Error = enum(u32) {
|
||||||
|
@ -48,66 +30,42 @@ pub const Display = struct {
|
||||||
};
|
};
|
||||||
|
|
||||||
pub const Registry = struct {
|
pub const Registry = struct {
|
||||||
pub const Event = union(Event.Tag) {
|
pub const Event = union(enum) {
|
||||||
global: Global,
|
global: struct {
|
||||||
global_remove: GlobalRemove,
|
|
||||||
|
|
||||||
pub const Tag = enum(u16) {
|
|
||||||
global,
|
|
||||||
global_remove,
|
|
||||||
};
|
|
||||||
|
|
||||||
pub const Global = struct {
|
|
||||||
name: u32,
|
name: u32,
|
||||||
interface: [:0]const u8,
|
interface: [:0]const u8,
|
||||||
version: u32,
|
version: u32,
|
||||||
};
|
},
|
||||||
|
global_remove: struct {
|
||||||
pub const GlobalRemove = struct {
|
|
||||||
name: u32,
|
name: u32,
|
||||||
};
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
pub const Request = union(Request.Tag) {
|
pub const Request = union(enum) {
|
||||||
bind: Bind,
|
bind: struct {
|
||||||
|
|
||||||
pub const Tag = enum(u16) {
|
|
||||||
bind,
|
|
||||||
};
|
|
||||||
|
|
||||||
pub const Bind = struct {
|
|
||||||
name: u32,
|
name: u32,
|
||||||
interface: [:0]const u8,
|
interface: [:0]const u8,
|
||||||
version: u32,
|
version: u32,
|
||||||
new_id: u32,
|
new_id: u32,
|
||||||
};
|
},
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
pub const Compositor = struct {
|
pub const Compositor = struct {
|
||||||
pub const INTERFACE = "wl_compositor";
|
pub const INTERFACE = "wl_compositor";
|
||||||
|
|
||||||
pub const Request = union(Request.Tag) {
|
pub const Request = union(enum) {
|
||||||
create_surface: CreateSurface,
|
create_surface: struct {
|
||||||
create_region: CreateRegion,
|
|
||||||
|
|
||||||
pub const Tag = enum(u16) {
|
|
||||||
create_surface,
|
|
||||||
create_region,
|
|
||||||
};
|
|
||||||
|
|
||||||
pub const CreateSurface = struct {
|
|
||||||
new_id: u32,
|
new_id: u32,
|
||||||
};
|
},
|
||||||
|
create_region: struct {
|
||||||
pub const CreateRegion = struct {
|
|
||||||
new_id: u32,
|
new_id: u32,
|
||||||
};
|
},
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
pub const ShmPool = struct {
|
pub const ShmPool = struct {
|
||||||
pub const Request = union(Request.Tag) {
|
pub const Request = union(enum) {
|
||||||
create_buffer: struct {
|
create_buffer: struct {
|
||||||
new_id: u32,
|
new_id: u32,
|
||||||
offset: i32,
|
offset: i32,
|
||||||
|
@ -120,29 +78,17 @@ pub const ShmPool = struct {
|
||||||
resize: struct {
|
resize: struct {
|
||||||
size: i32,
|
size: i32,
|
||||||
},
|
},
|
||||||
|
|
||||||
pub const Tag = enum(u16) {
|
|
||||||
create_buffer,
|
|
||||||
destroy,
|
|
||||||
resize,
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
pub const Shm = struct {
|
pub const Shm = struct {
|
||||||
pub const Request = union(Request.Tag) {
|
pub const Request = union(enum) {
|
||||||
create_pool: CreatePool,
|
create_pool: struct {
|
||||||
|
|
||||||
pub const Tag = enum(u16) {
|
|
||||||
create_pool,
|
|
||||||
};
|
|
||||||
|
|
||||||
pub const CreatePool = struct {
|
|
||||||
new_id: u32,
|
new_id: u32,
|
||||||
// file descriptors are sent through a control message
|
// file descriptors are sent through a control message
|
||||||
// fd: u32,
|
// fd: u32,
|
||||||
size: u32,
|
size: u32,
|
||||||
};
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
pub const Event = union(enum) {
|
pub const Event = union(enum) {
|
||||||
|
@ -151,6 +97,12 @@ pub const Shm = struct {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pub const Error = enum(u32) {
|
||||||
|
invalid_format,
|
||||||
|
invalid_stride,
|
||||||
|
invalid_fd,
|
||||||
|
};
|
||||||
|
|
||||||
pub const Format = enum(u32) {
|
pub const Format = enum(u32) {
|
||||||
argb8888,
|
argb8888,
|
||||||
xrgb8888,
|
xrgb8888,
|
||||||
|
@ -159,7 +111,7 @@ pub const Shm = struct {
|
||||||
};
|
};
|
||||||
|
|
||||||
pub const Surface = struct {
|
pub const Surface = struct {
|
||||||
pub const Request = union(Request.Tag) {
|
pub const Request = union(enum) {
|
||||||
destroy: void,
|
destroy: void,
|
||||||
attach: struct {
|
attach: struct {
|
||||||
buffer: u32,
|
buffer: u32,
|
||||||
|
@ -183,31 +135,29 @@ pub const Surface = struct {
|
||||||
region: u32,
|
region: u32,
|
||||||
},
|
},
|
||||||
commit: void,
|
commit: void,
|
||||||
|
|
||||||
pub const Tag = enum(u16) {
|
|
||||||
destroy,
|
|
||||||
attach,
|
|
||||||
damage,
|
|
||||||
frame,
|
|
||||||
set_opaque_region,
|
|
||||||
set_input_region,
|
|
||||||
commit,
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
pub const Event = union(Event.Tag) {
|
pub const Event = union(enum) {
|
||||||
format: Format,
|
enter: struct {
|
||||||
|
output: u32,
|
||||||
|
},
|
||||||
|
leave: struct {
|
||||||
|
output: u32,
|
||||||
|
},
|
||||||
|
preferred_buffer_scale: struct {
|
||||||
|
factor: i32,
|
||||||
|
},
|
||||||
|
preferred_buffer_transform: struct {
|
||||||
|
transform: u32,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
pub const Tag = enum(u16) {
|
pub const Error = enum(u32) {
|
||||||
@"error",
|
invalid_scale,
|
||||||
delete_id,
|
invalid_transform,
|
||||||
};
|
invalid_size,
|
||||||
|
invalid_offset,
|
||||||
pub const Format = enum(u32) {
|
defunct_role_object,
|
||||||
argb8888,
|
|
||||||
xrgb8888,
|
|
||||||
_,
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue