Crate pax_kit

Source

Re-exports§

pub use pax_engine;
pub use pax_std;

Modules§

common
constants
core
cursor
drawing
forms
layout
log
A lightweight logging facade.
math
paste
githubcrates-iodocs-rs
pax_chassis_web
Basic example of rendering in the browser
pax_lang
pax_macro
pax_manifest
pax_message
pax_runtime
pax_value
properties
refcell_debug
reflection
serde
Serde
serde_json
Serde JSON
wasm_bindgen
Runtime support for the wasm-bindgen tool
wasm_bindgen_futures
Converting between JavaScript Promises to Rust Futures.

Macros§

borrow
borrow_mut
impl_default_coercion_rule
impl_to_from_pax_value
pax_struct
use_RefCell

Structs§

AddedLayerArgs
AnyCreatePatch
BlankComponent
A blank component, roughly an alias for , used in cases where a dummy or placeholder is needed (e.g. within designer)
Button
ButtonClick
ButtonInstance
ButtonPatch
Carousel
CarouselCell
Cell
ChassisResizeRequestArgs
Checkbox
A platform-native checkbox element
CheckboxChange
CheckboxInstance
CheckboxPatch
CheckboxStyleMessage
Clap
A Clap describes either a “click” (mousedown followed by mouseup), OR a “tap” with one finger (singular fingerdown event). Claps are a useful alternative to most kinds of Click or Tap events, when you want the same behavior for both to be contained in one place.
ClapInterruptArgs
Click
User clicks a mouse button over an element.
ClickInterruptArgs
Col
ComboBox
ComboBoxListItem
CommonProperties
CommonProperty
ConfirmationDialog
ContextMenu
User right-clicks an element to open the context menu.
ContextMenuInterruptArgs
DoubleClick
User double-clicks a mouse button over an element.
DoubleClickInterruptArgs
Drop
User clicks a mouse button over an element.
DropFileArgs
Dropdown
A platform-native dropdown list
DropdownInstance
DropdownPatch
Ellipse
A basic 2D vector ellipse
EllipseInstance
Event
EventBlocker
EventBlockerInstance
EventBlockerPatch
Focus
FocusInterruptArgs
FormButtonClickArgs
FormCheckboxToggleArgs
FormDropdownChangeArgs
FormRadioSetChangeArgs
FormSliderChangeArgs
FormTextboxChangeArgs
FormTextboxInputArgs
Frame
A primitive that gathers children underneath a single render node with a shared base transform, like [Group], except Frame has the option of clipping rendering outside of its bounds.
FrameInstance
FramePatch
Functions
GradientStop
Group
Gathers a set of children underneath a single render node: useful for composing transforms and simplifying render trees.
GroupInstance
Image
An Image (decoded by chassis), drawn to the bounds specified by size, transformed by transform
ImageDataArgs
ImageInstance
ImagePatch
ImagePointerArgs
InterruptBuffer
KeyDown
User is pressing a key.
KeyDownInterruptArgs
KeyPress
User presses a key that displays a character (alphanumeric or symbol).
KeyPressInterruptArgs
KeyUp
User has released a key.
KeyUpInterruptArgs
KeyboardEventArgs
Common properties in keyboard events.
LayerAddPatch
LinearGradient
Link
LinkStyleMessage
ListItemData
LocalFontMessage
MessageQueue
MouseDown
User presses a mouse button over an element.
MouseDownInterruptArgs
MouseEventArgs
Common properties in mouse events.
MouseMove
User moves the mouse while it is over an element.
MouseMoveInterruptArgs
MouseOut
User moves the mouse away from an element.
MouseOutInterruptArgs
MouseOver
User moves the mouse onto an element.
MouseOverInterruptArgs
MouseUp
User releases a mouse button over an element.
MouseUpInterruptArgs
NativeImage
A platform-native image
NativeImageInstance
NativeImagePatch
NativeMessageQueue
NavigationPatch
NodeContext
NodeInterface
NodeLocal
OcclusionPatch
Path
A basic 2D vector path for arbitrary Bézier / line-segment chains
PathClose
PathContext
PathCurve
PathInstance
PathLine
PathPoint
Percent
Raw Percent type, which we use for serialization and dynamic traversal. At the time of authoring, this type is not used directly at runtime, but is intended for into coercion into downstream types, e.g. ColorChannel, Rotation, and Size. This allows us to be “dumb” about how we parse %, and allow the context in which it is used to pull forward a specific type through into inference.
PlatformSpecificScrollParams
Point
Property
A typed wrapper over a UntypedProperty that casts to/from an untyped property on get/set
RadialGradient
RadioSet
A platform-native radio set list
RadioSetInstance
RadioSetPatch
Rectangle
A basic 2D vector rectangle
RectangleCornerRadii
RectangleInstance
Resizable
Row
Scroll
Scroll occurs when a frame is translated vertically or horizontally Can be both by touch, mouse or keyboard The contained delta_x and delta_y describe the horizontal and vertical translation of the frame
ScrollInterruptArgs
Scrollbar
A combination of a clipping area (nearly identical to a Frame,) and an inner panel that can be scrolled on zero or more axes. Scroller coordinates with each chassis to create native scrolling containers, which pass native scroll events back to Engine. In turn, Scroller translates its children to reflect the current scroll position. When both scrolling axes are disabled, Scroller acts exactly like a Frame, with a possibly- transformed Group surrounding its contents.
ScrollbarInstance
ScrollbarInterruptArgs
Scroller
A scrolling container for arbitrary content.
ScrollerPatch
Section
SelectStart
User is pressing a key.
SelectStartArgs
SetCursorPatch
Slider
A platform-native Slider control
SliderInstance
SliderPatch
Slot
Contains the index value for slot, either a literal or an expression.
Span
Stacker
Stacker lays out a series of nodes either vertically or horizontally (i.e. a single row or column) with a specified gutter in between each node. Stackers can be stacked inside of each other, horizontally and vertically, along with percentage-based positioning and Transform2D.anchor to compose any rectilinear 2D layout.
StackerCell
Stroke
SystemFontMessage
Table
TableContext
Tabs
Text
Renders text in a platform-native way
TextInput
TextInputArgs
TextInstance
TextPatch
TextStyle
TextStyleMessage
Textbox
A platform-native text input field
TextboxChange
TextboxInput
TextboxInstance
TextboxPatch
Timeline
Toast
Tooltip
A scrolling container for arbitrary content.
Touch
Represents a single touch point.
TouchEnd
A TouchEnd occurs when the user stops touching an element. The contained touches represent a list of touch points.
TouchEndInterruptArgs
TouchInfo
TouchMessage
TouchMove
A TouchMove occurs when the user moves while touching an element. The contained touches represent a list of touch points.
TouchMoveInterruptArgs
TouchStart
A TouchStart occurs when the user touches an element. The contained touches represent a list of touch points.
TouchStartInterruptArgs
Transform2D
A sugary representation of an Affine transform+, including anchor and align as layout-computed properties.
TransitionManager
TransitionQueueEntry
Variable
Viewport
WebFontMessage
Wheel
User scrolls the mouse wheel over an element.
WheelInterruptArgs
Window
YoutubeVideo
A platform-native image
YoutubeVideoInstance
YoutubeVideoPatch

Enums§

Axis
Color
ColorChannel
ColorMessage
ComboBoxItemClickEvent
EasingCurve
Fill
Font
FontPatch
FontStyle
FontStyleMessage
FontWeight
FontWeightMessage
ImageFit
Image fit/layout options
ImageLoadInterruptArgs
ImageSource
Layer
ModifierKey
ModifierKeyMessage
MouseButton
MouseButtonMessage
NativeInterrupt
NativeMessage
NavigationTarget
NewItem
Numeric
OS
PathElement
PaxValue
Container for all internal pax types Two important traits are related to this type: ToFromPaxValue - responsible for converting to and from specific types (u8, String, Color, etc) CoercionRules - responsible for coercing a PaxValue to a specific type (possibly from multiple different variants)
Platform
ResizableDirection
Rotation
Size
A Size value that can be either a concrete pixel value or a percent of parent bounds.
StackerDirection
Target
TextAlignHorizontal
TextAlignHorizontalMessage
TextAlignVertical
TextAlignVerticalMessage

Traits§

CoercionRules
HelperFunctions
ImplToFromPaxAny
Marker trait. Implement only for types that are not part of PaxValue, but need to be stored inside a PaxAny. If they are part of pax value, instead implement CoercionRules manually, or using the default impl macro as seen in coercion_impls.rs
Interpolatable
RenderContext
Store
Marker trait that needs to be implemented for a struct for insertion and deletion in a store NOTE: Stored objects need to be UNIQUE for any given stack. Do not insert values with types that could potentially be used in another use case, instead create a local new type (newtype pattern) only used for a single purpose
ToPaxValue
This trait is implemented by all types that has a builtin equivalent representation (see to_from_impls module) This is NOT responsible for coercing between types, but returns an err in all cases where the underlying type is not exactly what is expected

Functions§

bound
no_touches
opt_align_to_message
opt_value_eq_opt_msg
patch_if_needed
register_function

Attribute Macros§

helpers
pax