minifb is a cross platform library written in Rust that makes to open windows (usually native to the running operating system) and can optionally show a 32-bit buffer. minifb also support keyboard, mouse input and menus on selected operating systems.
Menu holds info for menus
Holds info about each item in a menu
Used on POSIX systems (Linux, FreeBSD, etc) as menus aren't supported in a native way there. This structure can be used by calling [#get_posix_menus] on Window.
Used on POSIX systems (Linux, FreeBSD, etc) as menus aren't supported in a native way there. This structure holds info for each item in a #UnixMenu
Window is used to open up a window. It's possible to optionally display a 32-bit buffer when the widow is set as non-resizable.
WindowOptions is creation settings for the window. By default the settings are defined for displayng a 32-bit buffer (no scaling of window is possible)
Different style of cursors that can be used
Errors that can be returned from various operations
Key is used by the get key functions to check if some keys on the keyboard has been pressed
Used for is_key_pressed and get_keys_pressed() to indicated if repeat of presses is wanted
The various mouse buttons that are availible
The diffrent modes that can be used to decide how mouse coordinates should be handled
Scale will scale the frame buffer and the window that is being sent in when calling the update function. This is useful if you for example want to display a 320 x 256 window on a screen with much higher resolution which would result in that the window is very small.
On some OS (X11 for example) it's possible a window can resize even if no resize has been set. This causes some issues depending on how the content of an input buffer should be displayed then it's possible to set this scaling mode to get a better behavior.
Command key on Mac OS
Windows key on Windows
Window that wraps around a raw window handle.
This trait can be implemented and set with