Expand description

Core traits and types used to create Graphical User Interfaces (GUIs - gooeys).


pub use figures;
pub use palette;
pub use unic_langid;
pub use url;


Types used for handling assets.

Types used for styling.


Creates a Color using values ranging from 0-255. Accepts 3 parameters for an opaque RGB color, or 4 parameters for an RGBA color.


A context used internally when the Transmogrifier type cannot be known.

A context used during initialization of a window or application.

A callback that receives information I, and returns R.

Communication channels used to communicate between Widgets and Transmogrifiers.

Enables Widgets to send commands to the Transmogrifier.

A graphical user interface.

Parameters used in localization strings.

A locked widget reference. No other threads can operate on the widget while this value is alive.

A guard marking that Gooey-managed code is executing.

A widget and its initial style information.

Invokes a Callback after a delay.

A context passed into Transmogrifier functions with access to useful data and types. This type is mostly used to avoid passing so many parameters across all functions.

Generic storage for a transmogrifier.

A collection of transmogrifiers to use inside of a frontend.

A Timer that hasn’t been scheduled.

A weak reference to a Timer. Uses Arc and Weak under the hood.

References an initialized widget. These references will not keep a widget from being removed.

A reference to a locked widget.

A unique ID of a widget, with information about the widget type.

A widget reference. Does not prevent a widget from being destroyed if removed from an interface.

References an initialized widget. On drop, frees the storage and id.

Generic, clone-able storage for a widget’s transmogrifier.

Generic-type-less widget storage.

A builder for a Window.

Configuration options used when opening a window.


A parameter used in localization.


The name of the class assigned to widgets that have a solid background but should be colored with the primary UI color.

The name of the class assigned to the root widget of a window.

The name of the class assigned to widgets that have a solid background


A generic-type-less trait for Channels

An interface for Frontend that doesn’t requier knowledge of associated types.

A value that can be used as Any that is threadsafe.

A Transmogrifier without any associated types.

A Widget without any associated types. Useful for implementing frontends.

A WindowBuilder that has had its widget type parameter erased.

A callback implementation. Not typically directly implemented, as this trait is auto-implemented for any Fn(I) -> R types.

A widget that can be created with defaults.

A frontend is an implementation of widgets and layouts.

A key for a widget.

A type that registers widgets with an associated key.

A type that provides localization (multi-lingual representations of text).

A native timer implementation.

Related storage enables a widget to communicate in a limited way about widgets being inserted or removed.

Transforms a Widget into whatever is needed for Frontend F.

A graphical user interface element.

Represents a window.

Type Definitions

A unit representing physical pixels on a display.

A unit aiming to represent the scaled resolution of the display the interface is being displayed on. The ratio between Pixels and Scaled can vary based on many things, including the display configuration, the system user interface settings, and the browser’s zoom level. Each Frontend will use its best available methods for translating Scaled to Pixels in a way that is consistent with other applications.

A clonable reference to a window.