feat(display): windows: full-screen, F1 cycles, OS bar (names, front, user); canvas-only (display-owned buffers, 4 max, reused); launchers OPEN (pm per app, terminal own), window caps minted by display; FORGET on launcher death via init courier; raster crate (font, chunked text); F-keys in input; terminal+snake on canvas; REDRAW gone
This commit is contained in:
@@ -37,18 +37,12 @@ fn subscribe_to_input() -> Option<CapSlot> {
|
||||
sent.ok().map(|_| INPUT)
|
||||
}
|
||||
|
||||
fn server<F: port_framebuffer::Framebuffer>(fb: F, input: Option<CapSlot>) -> display_server::server::DisplayServer<F> {
|
||||
match input {
|
||||
Some(input) => display_server::server::DisplayServer::with_input(fb, input),
|
||||
None => display_server::server::DisplayServer::new(fb),
|
||||
}
|
||||
fn server<F: port_framebuffer::Framebuffer>(fb: F, input: Option<CapSlot>) -> display_server::server::DisplayServer<F, display_server::host::KernelHost> {
|
||||
display_server::server::DisplayServer::new(fb, display_server::host::KernelHost::new(EP, input))
|
||||
}
|
||||
|
||||
#[inline(never)]
|
||||
fn run_virtio(mut fb: driver_framebuffer_virtio::VirtioFramebuffer, input: Option<CapSlot>) -> ! {
|
||||
use port_framebuffer::Framebuffer;
|
||||
fb.clear(types::display::Color::rgb(30, 30, 60));
|
||||
fb.flush();
|
||||
fn run_virtio(fb: driver_framebuffer_virtio::VirtioFramebuffer, input: Option<CapSlot>) -> ! {
|
||||
let mut srv = server(fb, input);
|
||||
server_framework::serve(&mut srv, EP)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user