shiny/

directory
v3.0.0 Latest Latest
Warning

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

Go to latest
Published: Sep 18, 2021 License: Apache-2.0, BSD-3-Clause

README

Driver

This is a clone of github.com/oakmound/oak/v3/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/v3/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

Directories

Path Synopsis
Package driver exposes screen implementation for various platforms Package driver provides the default driver for accessing a screen.
Package driver exposes screen implementation for various platforms Package driver provides the default driver for accessing a screen.
gldriver
Package gldriver provides an OpenGL driver for accessing a screen.
Package gldriver provides an OpenGL driver for accessing a screen.
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.
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 gesture provides gesture events such as long presses and drags.
Package gesture provides gesture events such as long presses and drags.
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