Crate dotrix_egui[][src]

Modules

containers

Containers are pieces of the UI which wraps other pieces of UI. Examples: Window, ScrollArea, Resize, etc.

layers

Handles paint layers, i.e. how things are sometimes painted behind or in front of other things.

math

Opinionated 2D math library for building GUIs.

menu

Menu bar functionality (very basic so far).

paint

2D graphics/rendering. Fonts, textures, color, geometry, tessellation etc.

style

egui theme (spacing, colors, etc).

util

Miscellaneous tools used by the rest of egui.

widgets

Widgets are pieces of GUI such as Label, Button, Slider etc.

Macros

github_link_file

Create a Hyperlink to the current file! on github.

github_link_file_line

Create a Hyperlink to the current file! (and line) on Github

Structs

Align2

Two-dimension alignment, e.g. Align2::LEFT_TOP.

Area

An area on the screen that can be moved by dragging.

Button

Clickable button with text.

CentralPanel

A panel that covers the remainder of the screen, i.e. whatever area is left after adding other panels.

Checkbox

Boolean on/off control with text label.

CollapsingHeader

A header which can be collapsed/expanded, revealing a contained Ui region.

CollapsingResponse

The response from showing a CollapsingHeader.

Color32

This format is used for space-efficient color representation (32 bits).

Context

This is the first thing you need when working with egui. Create using CtxRef.

CtxRef

A wrapper around Arc<Context>. This is how you will normally create and access a Context.

DragValue

A numeric value that you can change by dragging the number. More compact than a Slider.

Egui
FontDefinitions

Describes the font data and the sizes to use.

Frame

Adds a rectangular frame and background to some Ui.

Grid

A simple grid layout.

Hyperlink

A clickable hyperlink, e.g. to "https://github.com/emilk/egui".

Id

egui tracks widgets frame-to-frame using Ids.

Image

An widget to show an image of a given size.

ImageButton

A clickable image within a frame.

InputState

Input state that egui updates each frame.

Label

Static text.

LayerId

An identifier for a paint layer. Also acts as an identifier for Area:s.

Layout

The layout of a Ui, e.g. "vertical & centered".

Memory

The data that egui persists between frames.

Modifiers

State of the modifier keys. These must be fed to egui.

Output

What egui emits each frame. The backend should use this.

Painter

Helper to paint shapes and text to a specific region on a specific layer.

Pos2

A position on screen.

RadioButton

One out of several alternatives, either selected or not.

RawInput

What the integrations provides to egui at the start of each frame.

Rect

A rectangular region of space.

Resize

A region that can be resized by dragging the bottom right corner.

Response

The result of adding a widget to a Ui.

Rgba

0-1 linear space RGBA color with premultiplied alpha.

ScrollArea

Add vertical scrolling to a contained Ui.

SelectableLabel

One out of several alternatives, either selected or not. Will mark selected items with a different background color An alternative to RadioButton and Checkbox.

Sense

What sort of interaction is a widget sensitive to?

Separator

A visual separator. A horizontal or vertical line (depending on Layout).

SidePanel

A panel that covers the entire left side of the screen.

Slider

Control a number by a horizontal slider. The range can include any numbers, and go from low-to-high or from high-to-low.

Stroke

Describes the width and color of a line.

Style

Specifies the look and feel of a Ui.

TextEdit

A text region that the user can edit the contents of.

Texture

An 8-bit texture containing font data.

TopPanel

A panel that covers the entire top side of the screen.

Ui

This is what you use to place widgets.

Vec2

A vector has a direction and length. A Vec2 is often used to represent a size.

Window

Builder for a floating window which can be dragged, closed, collapsed, resized and scrolled (off by default).

Enums

Align

left/center/right or top/center/bottom alignment for e.g. anchors and layouts.

CursorIcon

A mouse cursor icon.

Direction

Layout direction, one of LeftToRight, RightToLeft, TopDown, BottomUp.

Event

An input event generated by the integration.

FontFamily

Which style of font: Monospace or Proportional.

Key

Keyboard keys.

Order

Different layer categories

Shape

A paint primitive such as a circle or a piece of text. Coordinates are all screen space points (not physical pixels).

TextStyle

One of a few categories of styles of text, e.g. body, button or heading.

TextureId

What texture to use in a Triangles mesh.

Traits

NumExt

Extends f32, Vec2 etc with at_least and at_most as aliases for max and min.

Widget

Anything implementing Widget can be added to a Ui with Ui::add.

Functions

clamp

Returns range.start() if x <= range.start(), returns range.end() if x >= range.end() and returns x elsewhen.

combo_box

A drop-down selection menu.

combo_box_with_label

A drop-down selection menu with a descriptive label.

lerp

Linear interpolation.

pos2

pos2(x,y) == Pos2::new(x, y)

remap

Linearly remap a value from one range to another, so that when x == from.start() returns to.start() and when x == from.end() returns to.end().

remap_clamp

Like remap, but also clamps the value so that the returned value is always in the to range.

reset_button

Show a button to reset a value to its default. The button is only enabled if the value does not already have its original value.

show_tooltip

Show a tooltip at the current mouse position (if any).

show_tooltip_text

Show some text at the current mouse position (if any).

stroke_ui
vec2

vec2(x,y) == Vec2::new(x, y)

warn_if_debug_build

Helper function that adds a label when compiling with debug assertions enabled.

Type Definitions

PaintJobs

Grouped by clip rectangles, in points (logical pixels).