[−][src]Crate pushrod
Pushrod is a Cross Platform UI Widget Library for Rust.
It is intended to be lightweight, easy to use, and easy to understand. Pushrod draws inspiration from 16-bit GUI-based systems and other GUI libraries over the years.
Dependencies
Pushrod uses the following dependencies:
[dependencies] piston_window = "^0.89.0" find_folder = "^0.3.0"
To use the crate in your project, add the following dependencies:
[dependencies] rust-pushrod = "^0.1"
Core Components
Callbacks
Events
Widgets
The following Widget objects are provided:
BaseWidget is a top-level Widget object. It can be configured with
an origin, size, and background color. If you wish to design your own Widget, you would
want to either extend the BaseWidget, or use it as a backing in your own Widget object.
(See BoxWidget for an example of how to use it in tandem with another object.)
BoxWidget incorporates a BaseWidget, extending it to include a border color and width.
TextWidget provides a way to display text in the main window. Fonts are in ttf format,
which can be downloaded from Google, so long as they are free/open source. One has been
included with the source distribution in the assets directory.
TimerWidget provides a rudimentary timer, which increases ticks based on the screen
refresh. After a timer has expired, a callback is triggered, allowing an action to occur.
ImageWidget draws an image on the screen. png format has been tested, but jpg and gif
formats should also work, as they are part of the Piston library.
Modules
| core | Main module containing the run loop for the UI components, containers for windows and
|
| event | Companion module used to define and trigger system-wide events. Uses an event masking style similar to the Atari ST GEM series: event masks can be used to tell the Pushrod run loop which events the programmer desires to receive. |
| widget | Widget library used for on-screen UI interaction. This is a core set of |