package
0.0.23
Repository: https://github.com/cybriq/p9.git
Documentation: pkg.go.dev

# README

gel

Gio elements

This is a widget toolkit based on the basic set of material widgets built with Gio.

So far, the following additional widgets have been created - scrollbar for the scrolling list, a column and basic table, and a top-bar side-bar status-bar multi-page application framework, and a background process runner to minimise interruptions to the rendering of the interfaces.

There is also a state-widget pool generated with the stuff in poolgen/ that you initialize before starting the render loop that can then be used anywhere to add new clickables, bools, inputs and so on, without having to double up with a pre-specification, they allocate first run and then cache thereafter, maintaining their state.

Gel uses fluent programming techniques to simplify and denoise the visual structure of Gio widget definitions. To take maximum advantage of it, make use of the fact that Go allows breaking lines after dot operators between the chained methods such that each movable section can be pulled up and moved into another position without dealing with a screenful of red underlines in your IDE caused by unpaired brackets.

Future plans include creating a serialization format for events and render op queues and accompanying socket transports to enable remote display and control of user interfaces.

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Functions

CopyContextDimensionsWithMaxAxis copies the dimensions out with the max set by an image.Point along the axis.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Fill is a general fill function that covers the background of the current context space.
FPt converts an point to a f32.Point.
No description provided by the author
GetDimensionList returns a dimensionlist based on the given listelement.
GetInfContext creates a context with infinite max constraints.
HexARGB converts a 32 bit hex string into a color specification.
HexNRGB converts a 32 bit hex string into a color specification.
No description provided by the author
No description provided by the author
NewTheme creates a new theme to use for rendering a user interface.
NewWindow creates a new window.
NewWindowP9 creates a new window.

# Constants

Contain scales widget as large as possible without cropping and it preserves aspect-ratio.
Cover scales the widget to cover the constraint area and preserves aspect-ratio.
No description provided by the author
No description provided by the author
No description provided by the author
ScaleDown scales the widget smaller without cropping, when it exceeds the constraint area.
No description provided by the author
Stretch stretches the widget to the constraints and does not preserve aspect-ratio.
No description provided by the author
Unscaled does not alter the scale of a widget.

# Variables

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Scales is the ratios against TODO: shouldn't that 16.0 be the text size in the theme?.
No description provided by the author
No description provided by the author

# Structs

App defines an application with a header, sidebar/menu, right side button bar, changeable body page widget and pop-over layers.
No description provided by the author
Border lays out a widget and draws a border inside it.
Button is a material text label icon with options to change all features.
No description provided by the author
No description provided by the author
No description provided by the author
A ChangeEvent is generated for every user change to the text.
No description provided by the author
No description provided by the author
Clickable represents a clickable area.
Colors is a map of names to hex strings specifying colors.
No description provided by the author
No description provided by the author
No description provided by the author
Editor implements an editable and scrollable text area.
No description provided by the author
Filler fills the background of a widget with a specified color and corner radius.
No description provided by the author
Float is for selecting a value in a range.
No description provided by the author
No description provided by the author
Image is a widget that displays an image.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Label is text drawn inside an empty box.
List displays a subsection of a potentially infinitely large underlying list.
No description provided by the author
No description provided by the author
No description provided by the author
Position is a List scroll offset represented as an offset from the top edge of a child element.
No description provided by the author
No description provided by the author
No description provided by the author
A SelectEvent is generated when the user selects some text, or changes the selection (e.g.
No description provided by the author
No description provided by the author
A SubmitEvent is generated when submit is set and a carriage return key is pressed.
No description provided by the author
Table is a super simple table widget that finds the dimensions of all cells, sets all to max of each axis, and then scales the remaining space evenly.
Text is a widget for laying out and drawing text.
TextInput is a simple text input widget.
TextTable is a widget that renders a scrolling list of rows of data labeled by a header.
No description provided by the author
WidgetSize is a widget with a specification of the minimum size to select it for viewing.
No description provided by the author
WrapList is a generalised layout for creating lists from widgets lined up in one axis and wrapped into lines across a given axis.

# Interfaces

No description provided by the author

# Type aliases

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Fit scales a widget to fit and clip to the constraints.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
ListElement is a function that computes the dimensions of a list element.
No description provided by the author
ScaleType is a map of the set of label txsizes.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author