#![allow(unused, dead_code, deprecated, mismatched_lifetime_syntaxes)]
pub mod animated;
pub mod canvas;
pub mod diff;
pub mod div;
pub mod element;
pub mod notch;
pub mod element_style;
pub mod event_handler;
pub mod event_router;
pub mod image;
pub mod interactive;
pub mod layout_animation;
pub mod motion;
pub mod render_state;
pub mod renderer;
pub mod rich_text;
pub mod scroll;
pub mod stack;
pub mod stateful;
pub mod style;
pub mod styled_text;
pub mod svg;
pub mod syntax;
pub mod text;
pub mod text_measure;
pub mod text_selection;
pub mod tree;
pub mod typography;
pub mod units;
pub mod visual_animation;
pub mod widgets;
pub mod markdown;
pub mod selector;
pub mod overlay_state;
pub mod pointer_query;
pub mod click_outside;
#[cfg(feature = "recorder")]
pub mod recorder_bridge;
pub mod calc;
pub mod css_parser;
pub mod back_handler;
pub mod key;
pub mod window_actions;
pub use key::{reset_call_counters, InstanceKey};
pub use element::{
BorderBuilder, BorderSide, BorderSides, CursorStyle, DynRenderProps, ElementBounds, FlowRef,
MotionAnimation, MotionKeyframe, RenderLayer, RenderProps, ResolvedRenderProps,
};
pub use diff::{
diff, diff_children, diff_elements, reconcile, ChangeCategory, ChildDiff, DiffResult, DivHash,
ReconcileActions,
};
pub use event_handler::{EventCallback, EventContext, EventHandlers, HandlerRegistry};
pub use event_router::{EventRouter, HitTestResult, MouseButton};
pub use interactive::{DirtyTracker, InteractiveContext, NodeState};
pub use style::LayoutStyle;
pub use tree::{LayoutNodeId, LayoutTree, TextMeasureContext};
pub use element::{
GlassMaterial, Material, MaterialShadow, MetallicMaterial, SolidMaterial, WoodMaterial,
};
pub use div::{
div, Div, ElementBuilder, ElementTypeId, FontFamily, FontWeight, GenericFont, ImageRenderInfo,
StyledTextRenderInfo, StyledTextSpanInfo, TextAlign, TextVerticalAlign,
};
pub use stack::{stack, Stack};
pub use div::{DivRef, ElementRef};
pub use image::{
emoji, emoji_sized, image, img, Image, ImageFilter, LoadingStrategy, ObjectFit, ObjectPosition,
Placeholder,
};
pub use rich_text::{rich_text, rich_text_styled, RichText};
pub use svg::{svg, Svg};
pub use text::{text, Text};
pub use renderer::{
GlassPanel, ImageData, LayoutRenderer, OnReadyCallback, OnReadyEntry, RenderTree,
RenderTreeDebugStats, StyledTextData, StyledTextSpan, SvgData, TextData, UpdateResult,
};
pub use canvas::{canvas, Canvas, CanvasBounds, CanvasData, CanvasRenderFn};
pub use render_state::{
create_shared_motion_states, get_global_scheduler, has_global_scheduler,
queue_global_motion_exit_cancel, queue_global_motion_exit_start, queue_global_motion_start,
set_global_scheduler, ActiveMotion, CssAnimationStore, MotionState, NodeRenderState, Overlay,
RenderState, SharedMotionStates,
};
pub use stateful::{
check_stateful_animations, check_stateful_deps, clear_stateful_animations,
clear_stateful_base_updaters, clear_stateful_deps, has_animating_statefuls,
has_pending_subtree_rebuilds, has_stateful_base_updater, peek_needs_redraw, queue_prop_update,
queue_subtree_rebuild, request_redraw, take_needs_redraw, take_pending_prop_updates,
take_pending_subtree_rebuilds, update_stateful_base_props, use_shared_state,
use_shared_state_with, PendingSubtreeRebuild, SharedState, StateTransitions, StatefulInner,
};
pub use animated::{AnimatedProperties, AnimationBuilder};
pub use layout_animation::{LayoutAnimation, LayoutAnimationConfig, LayoutAnimationState};
pub use units::{pct, px, sp, Length, Unit};
pub use motion::{
check_and_clear_exiting, check_ready_for_enter, current_motion_key, is_inside_animating_motion,
is_inside_motion, motion, motion_derived, motion_events, motion_presence_store,
query_presence_state, start_exit_for_key, update_presence_state, ElementAnimation,
ExitingChild, Motion, MotionBindings, MotionPresenceState, MotionPresenceStore,
SharedAnimatedValue, SlideDirection, StaggerConfig, StaggerDirection,
};
pub use text_measure::{
measure_text, measure_text_with_options, set_text_measurer, TextLayoutOptions, TextMeasurer,
TextMetrics,
};
pub use text_selection::{
clear_selection, get_selected_text, global_selection, set_selection, SelectionSource,
SharedTextSelection, TextSelection,
};
pub mod prelude {
pub use crate::div::{
div, Div, ElementBuilder, ElementTypeId, FontFamily, FontWeight, GenericFont,
ImageRenderInfo, TextAlign, TextVerticalAlign,
};
pub use crate::stack::{stack, Stack};
pub use crate::div::{DivRef, ElementRef};
pub use crate::element::{
CursorStyle, DynRenderProps, ElementBounds, RenderLayer, RenderProps, ResolvedRenderProps,
};
pub use crate::event_handler::{EventCallback, EventContext, EventHandlers, HandlerRegistry};
pub use crate::event_router::{EventRouter, HitTestResult, MouseButton};
pub use crate::image::{
emoji, emoji_sized, image, img, Image, ImageFilter, LoadingStrategy, ObjectFit,
ObjectPosition, Placeholder,
};
pub use crate::interactive::{DirtyTracker, InteractiveContext, NodeState};
pub use crate::element_style::{
style, ElementStyle, SpacingRect, StyleAlign, StyleDisplay, StyleFlexDirection,
StyleJustify, StyleOverflow, StyleVisibility,
};
pub use crate::diff::{
diff, diff_children, diff_elements, reconcile, ChangeCategory, ChildDiff, DiffResult,
DivHash, ReconcileActions,
};
pub use crate::stateful::{
scroll_events,
stateful,
stateful_button,
stateful_checkbox,
stateful_from_handle,
stateful_with_key,
text_field,
toggle,
use_shared_state,
use_shared_state_with,
BoundStateful,
Button as StatefulButton,
ButtonState,
Checkbox as StatefulCheckbox,
CheckboxState as StatefulCheckboxState,
ChildKeyCounter,
KeyframeHandle,
NoState,
ScrollContainer,
ScrollState,
SharedAnimatedTimeline,
SharedAnimatedValue,
SharedKeyframeTrack,
SharedState,
StateContext,
StateTransitions,
Stateful,
StatefulBuilder,
StatefulInner,
TextField,
TextFieldState,
Toggle,
ToggleState,
};
pub use crate::widgets::{
button,
checkbox,
checkbox_labeled,
elapsed_ms,
has_focused_text_input,
radio_group,
text_area,
text_area_state,
text_area_state_with_placeholder,
text_input,
text_input_state,
text_input_state_with_placeholder,
Button,
ButtonConfig,
ButtonVisualState,
Checkbox,
CheckboxConfig,
InputConstraints,
InputType,
RadioGroup,
RadioGroupBuilder,
RadioGroupConfig,
RadioLayout,
SharedTextAreaState,
SharedTextInputState,
TextArea,
TextAreaConfig,
TextAreaState,
TextInput,
TextInputConfig,
TextInputState,
TextPosition,
CURSOR_BLINK_INTERVAL_MS,
};
pub use crate::element::{
GlassMaterial, Material, MaterialShadow, MetallicMaterial, SolidMaterial, WoodMaterial,
};
#[allow(deprecated)]
pub use crate::renderer::{
GlassPanel, ImageData, LayoutRenderer, OnReadyCallback, RenderTree, SvgData, TextData,
UpdateResult,
};
pub use crate::rich_text::{rich_text, rich_text_styled, RichText};
pub use crate::svg::{svg, Svg};
pub use crate::text::{text, Text};
pub use crate::tree::{LayoutNodeId, LayoutTree};
pub use crate::widgets::{
scroll, scroll_no_bounce, Scroll, ScrollConfig, ScrollDirection, ScrollPhysics,
ScrollRenderInfo, SharedScrollPhysics,
};
pub use crate::widgets::{
code, code_editor, code_editor_state, code_minimap, pre, Code, CodeConfig, CodeEditor,
CodeEditorData, SharedCodeEditorState,
};
pub use crate::units::{pct, px, sp, Length, Unit};
pub use crate::syntax::{
JsonHighlighter, PlainHighlighter, RustHighlighter, SyntaxConfig, SyntaxHighlighter,
TokenHit, TokenRule, TokenType,
};
pub use crate::canvas::{canvas, Canvas, CanvasBounds};
pub use crate::notch::{notch, CornerConfig, CornerStyle, CornersConfig, Notch};
pub use blinc_core::{BlurQuality, BlurStyle, LayerEffect, Shadow, Transform};
pub use crate::animated::{AnimatedProperties, AnimationBuilder};
pub use crate::layout_animation::{LayoutAnimation, LayoutAnimationConfig};
pub use blinc_animation::{
AnimatedKeyframe, AnimatedTimeline, AnimatedValue, AnimationPreset, Easing,
KeyframeProperties, MultiKeyframeAnimation, SchedulerHandle, SpringConfig,
};
pub use crate::motion::{
current_motion_key, is_inside_animating_motion, is_inside_motion, motion, motion_derived,
ElementAnimation, Motion, MotionBindings, SlideDirection, StaggerConfig, StaggerDirection,
};
pub use crate::text_selection::{
clear_selection, get_selected_text, global_selection, set_selection, SelectionSource,
SharedTextSelection, TextSelection,
};
pub use crate::render_state::{
ActiveMotion, MotionState, NodeRenderState, Overlay, RenderState,
};
pub use blinc_core::{AnimationAccess, DynFloat, DynValue, ReactiveAccess, ValueContext};
pub use crate::typography::{
b, caption, chained_text, h1, h2, h3, h4, h5, h6, heading, inline_code, label, muted, p,
small, span, strong,
};
pub use crate::widgets::{
cell, striped_tr, table, tbody, td, td_text, tfoot, th, th_text, thead, tr, TableBuilder,
TableCell,
};
pub use crate::widgets::{
overlay_events, overlay_manager, BackdropConfig, ContextMenuBuilder, Corner, DialogBuilder,
DropdownBuilder, ModalBuilder, OverlayAnimation, OverlayConfig, OverlayHandle, OverlayKind,
OverlayManager, OverlayManagerExt, OverlayPosition, OverlayState, ToastBuilder,
};
pub use crate::markdown::{
markdown, markdown_light, markdown_with_config, MarkdownConfig, MarkdownRenderer,
};
pub use crate::widgets::{
blockquote, blockquote_with_config, hr, hr_color, hr_thick, hr_with_bg, hr_with_config, li,
link, ol, ol_start, task_item, ul, Blockquote, BlockquoteConfig, HrConfig, Link,
LinkConfig, ListConfig, ListItem, ListMarker, OrderedList, TaskListItem, UnorderedList,
};
pub use crate::selector::{
query, query_motion, ElementEvent, ElementHandle, ElementRegistry, MotionHandle,
ScrollBehavior, ScrollBlock, ScrollInline, ScrollOptions, ScrollRef, SharedElementRegistry,
};
pub use crate::overlay_state::{get_overlay_manager, OverlayContext};
pub use crate::css_parser::{
AnimationDirection, AnimationFillMode, AnimationTiming, Combinator, ComplexSelector,
CompoundSelector, CssAnimation, CssKeyframe, CssKeyframes, CssParseResult, CssSelector,
ElementState as CssElementState, ParseError as CssParseError, SelectorPart,
Severity as CssSeverity, StructuralPseudo, Stylesheet,
};
pub use blinc_core::{
FlowError, FlowExpr, FlowFunc, FlowGraph, FlowInput, FlowInputSource, FlowNode, FlowOutput,
FlowOutputTarget, FlowTarget, FlowType,
};
pub use crate::key::{reset_call_counters, InstanceKey};
}