Crate minifb

source ·
Expand description

minifb is a cross platform library written in Rust that makes it easy 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
  • Represents a window icon
  • 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 different 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.



  • Window that wraps around a raw window handle.
  • This trait can be implemented and set with set_input_callback to receive a callback when there is inputs.


Type Definitions