shiny

package
v4.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 6, 2024 License: Apache-2.0, BSD-3-Clause Imports: 0 Imported by: 0

README

Driver

This is a clone of github.com/oakmound/oak/shiny, itself a fork of golang.org/exp/shiny. The goal of this fork is to add additional window management functionality, and focus the project down to just window management / common OS interfaces.

The goal of the clone here is to reduce iteration time of new features in oak. This clone may be brought back to github.com/oakmound/oak/shiny regularly, if we make significant stable improvements.

Long Term Plans

  1. Standardize interfaces across OSes
  2. Add new drivers for better performance, optional CGO
  3. Add Fullscreen, screen movement, common screen options to all OSes
  4. Add Window scaling types (bicubic, etc.) to all OSes

Documentation

Overview

Package shiny provides interfaces and drivers for instantiating and managing application windows

Directories

Path Synopsis
Package driver exposes screen implementation for various platforms
Package driver exposes screen implementation for various platforms
internal/drawer
Package drawer provides functions that help implement screen.Drawer methods.
Package drawer provides functions that help implement screen.Drawer methods.
internal/errscreen
Package errscreen provides a stub Screen implementation.
Package errscreen provides a stub Screen implementation.
internal/event
Package event provides an infinitely buffered double-ended queue of events.
Package event provides an infinitely buffered double-ended queue of events.
internal/lifecycler
Package lifecycler tracks a window's lifecycle state.
Package lifecycler tracks a window's lifecycle state.
internal/swizzle
Package swizzle provides functions for converting between RGBA pixel formats.
Package swizzle provides functions for converting between RGBA pixel formats.
internal/x11key
Package x11key contains X11 numeric codes for the keyboard and mouse.
Package x11key contains X11 numeric codes for the keyboard and mouse.
jsdriver
Package jsdriver provides a WASM/JS driver for accessing a screen.
Package jsdriver provides a WASM/JS driver for accessing a screen.
mtldriver
Package mtldriver provides a Metal driver for accessing a screen.
Package mtldriver provides a Metal driver for accessing a screen.
mtldriver/internal/appkit
Package appkit provides access to Apple's AppKit API (https://developer.apple.com/documentation/appkit).
Package appkit provides access to Apple's AppKit API (https://developer.apple.com/documentation/appkit).
mtldriver/internal/coreanim
Package coreanim provides access to Apple's Core Animation API (https://developer.apple.com/documentation/quartzcore).
Package coreanim provides access to Apple's Core Animation API (https://developer.apple.com/documentation/quartzcore).
noop
Package noop provides a nonfunctional testing driver for accessing a screen.
Package noop provides a nonfunctional testing driver for accessing a screen.
windriver
Package windriver provides the Windows driver for accessing a screen.
Package windriver provides the Windows driver for accessing a screen.
x11driver
Package x11driver provides the X11 driver for accessing a screen.
Package x11driver provides the X11 driver for accessing a screen.
Package screen provides interfaces for portable two-dimensional graphics and input events.
Package screen provides interfaces for portable two-dimensional graphics and input events.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL