Files
Ely-GPUI-Components/src/canvas/mod.rs
T
ZacharyZhang-NYandClaude Opus 5.5 c04c67d39a Canvas · Panels: layers, inspector, alignment, assets, style and layout editors
LayerPanel lists the canvas's layers topmost first on lists::Tree: a box
shows or hides each, F2 renames, a drag restacks into a new paint order.
InspectorPanel edits the one selected shape's frame, fill, visibility and
lock. AlignmentToolbar lines up or spreads the selection through
`aligned`. AssetPanel finds shapes by name in a picks grid, each drawn
to fit its tile. ColorPanel, ShadowEditor, BorderEditor and
TypographyPanel edit a look; GradientPanel is forms::GradientEditor.
ConstraintsEditor pins a shape to its frame, with `Constraints::placed`;
AutoLayoutControls sets flow, gap, padding and a place grid, with
`AutoLayout::laid`; ExportPanel names each file once. The panels share
`canvas::panel`: editing, pair, caption, heading and color_well.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 07:58:27 -04:00

46 lines
1.2 KiB
Rust

mod align;
mod assets;
mod autolayout;
mod constraints;
mod edit;
mod export;
mod gesture;
mod history;
mod inspector;
mod layers;
mod marks;
mod minimap;
mod palette;
mod panel;
mod plane;
mod shape;
mod style;
mod tools;
mod typography;
mod view;
mod zoom;
#[cfg(all(test, feature = "test-support"))]
mod tests;
pub use align::{Align, AlignmentToolbar, aligned};
pub use assets::AssetPanel;
pub use autolayout::{AutoLayout, AutoLayoutControls, Flow, Place};
pub use constraints::{Constraints, ConstraintsEditor, Pin};
pub use edit::{Handle, Tool};
pub use export::{ExportFormat, ExportPanel, ExportSetting, export_files};
pub use gesture::Brush;
pub use history::HistoryPanel;
pub use inspector::InspectorPanel;
pub use layers::LayerPanel;
pub use marks::{SelectionBox, SnapIndicator, TransformHandles};
pub use minimap::MiniMap;
pub use palette::{BrushSettings, ToolPalette};
pub use plane::InfiniteCanvas;
pub use shape::{Artboard, Corner, Guide, Shape, ShapeKind};
pub use style::{Border, BorderEditor, ColorPanel, Dash, Shadow, ShadowEditor};
pub use tools::ToolLayer;
pub use typography::{TypeStyle, TypographyPanel};
pub use view::{Frame, Viewport};
pub use zoom::{ZoomControls, ZoomIndicator};