waterui-layout 0.1.0

Layout components for WaterUI
docs.rs failed to build waterui-layout-0.1.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: waterui-layout-0.2.2

WaterUI Layout Components

Primitives for arranging views: stacks, grid, scroll, spacer, and simple frame metadata.

Stack Layouts

use waterui_layout::stack::{vstack, hstack, zstack, VStack, HStack, ZStack};
use waterui_text::text;

// Vertical stack
let v: VStack = vstack((
    text("First"),
    text("Second"),
    text("Third"),
));

// Horizontal stack
let h: HStack = hstack((
    text("Left"),
    text("Right"),
));

// Layered stack
let z: ZStack = zstack((
    text("Back"),
    text("Front"),
));

Grid (rows × columns)

use waterui_layout::{Alignment};
use waterui_layout::grid::{Grid, row};
use waterui_text::text;

let grid = Grid::new(
    Alignment::Center,
    [
        row((text("A"), text("B"), text("C"))),
        row((text("D"), text("E"))),
    ],
);

Scroll View

use waterui_layout::scroll;
use waterui_text::text;

let scrollable = scroll((
    text("Line 1"),
    text("Line 2"),
    text("Line 3"),
));

Spacer

use waterui_layout::spacer::spacer;

let gap = spacer();

Frame and Padding

use waterui::ViewExt;           // for .frame() and .padding()
use waterui_layout::{Frame, Alignment};
use waterui_text::text;

let framed = text("Sized").frame(
    Frame::new().width(200.0).height(100.0).alignment(Alignment::Center)
);

// Padding attaches default margins around a view (backend-defined defaults)
let padded = text("With padding").padding();

Notes:

  • Alignment variants: Default, Leading, Center, Trailing.
  • padding() currently applies default inset values; custom padding values are not exposed yet.