aboutsummaryrefslogtreecommitdiff
path: root/hikari/efi/protocols/graphics_output.zig
blob: 9f4731e1641db45bc0b80414e269be72669fc87a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//! Hikari EFI Graphics Output Protocol

const efi = @import("../efi.zig");
const types = @import("../types/types.zig");
const graphics = @import("../types/graphics.zig");

pub const GraphicsOutputProtocol = extern struct {
    query_mode: *const fn (
        self: *GraphicsOutputProtocol,
        mode_number: u32,
        size_of_info: *usize,
        info: **graphics.GraphicsOutputModeInformation,
    ) callconv(efi.akiba) types.Status,

    set_mode: *const fn (
        self: *GraphicsOutputProtocol,
        mode_number: u32,
    ) callconv(efi.akiba) types.Status,

    blt: *const fn (
        self: *GraphicsOutputProtocol,
        blt_buffer: ?[*]graphics.BltPixel,
        blt_operation: graphics.BltOperation,
        source_x: usize,
        source_y: usize,
        destination_x: usize,
        destination_y: usize,
        width: usize,
        height: usize,
        delta: usize,
    ) callconv(efi.akiba) types.Status,

    mode: *graphics.GraphicsOutputProtocolMode,
};