pub struct Layer {
pub kind: LayerKind,
pub clip: ClipStackSnapshot,
pub cmds: Vec<DrawCmd>,
pub isolated: bool,
pub isolated_depth: u8,
pub effects: IsolatedEffects,
}Expand description
Ordered draw commands sharing a clip and optional isolated effects.
isolated_depth is meaningful only when isolated is true. Constructors
initialize commands empty; public fields allow consumers to assemble custom
layers without validation.
§Examples
use ailloli_ui_runtime::scene::{ClipStackSnapshot, Layer, LayerKind};
let layer = Layer::base(ClipStackSnapshot::empty());
assert_eq!(layer.kind, LayerKind::Base);
assert!(layer.cmds.is_empty() && !layer.isolated);Fields§
§kind: LayerKindBase or overlay paint stratum.
clip: ClipStackSnapshotImmutable clip stack applied to every command in this layer.
cmds: Vec<DrawCmd>Draw commands in painter submission order.
isolated: boolWhen true, content is rendered offscreen then composited (isolated compositor).
isolated_depth: u8Nesting depth among isolated scopes (0 = root). nested isolated compositor.
effects: IsolatedEffectsOpacity, blend, and filter parameters for an isolated layer.
Implementations§
Source§impl Layer
Provides the operations defined for Layer.
impl Layer
Provides the operations defined for Layer.
Sourcepub fn base(clip: ClipStackSnapshot) -> Self
pub fn base(clip: ClipStackSnapshot) -> Self
Creates an empty, non-isolated base layer with no effects.
§Examples
use ailloli_ui_runtime::scene::{ClipStackSnapshot, Layer, LayerKind};
let layer = Layer::base(ClipStackSnapshot::empty());
assert_eq!(layer.kind, LayerKind::Base);Sourcepub fn overlay(clip: ClipStackSnapshot) -> Self
pub fn overlay(clip: ClipStackSnapshot) -> Self
Creates an empty, non-isolated overlay layer with no effects.
§Examples
use ailloli_ui_runtime::scene::{ClipStackSnapshot, Layer, LayerKind};
let layer = Layer::overlay(ClipStackSnapshot::empty());
assert_eq!(layer.kind, LayerKind::Overlay);Sourcepub fn isolated_base(
clip: ClipStackSnapshot,
effects: IsolatedEffects,
depth: u8,
) -> Self
pub fn isolated_base( clip: ClipStackSnapshot, effects: IsolatedEffects, depth: u8, ) -> Self
Creates an empty isolated base layer at caller-supplied nesting depth.
Depth uses 0 for the outermost isolated scope and is stored verbatim;
this constructor does not check nesting consistency or overflow.
§Examples
use ailloli_ui_runtime::scene::{ClipStackSnapshot, IsolatedEffects, Layer};
let layer = Layer::isolated_base(ClipStackSnapshot::empty(), IsolatedEffects::default(), 2);
assert!(layer.isolated);
assert_eq!(layer.isolated_depth, 2);Sourcepub fn base_with_clip(clip: Option<ClipShape>, is_window_root: bool) -> Self
pub fn base_with_clip(clip: Option<ClipShape>, is_window_root: bool) -> Self
Creates a base layer from zero or one clip shape.
The root flag is ignored when clip is None.
§Examples
use ailloli_ui_runtime::scene::Layer;
assert!(Layer::base_with_clip(None, true).clip.is_empty());Sourcepub fn overlay_with_clip(clip: Option<ClipShape>, is_window_root: bool) -> Self
pub fn overlay_with_clip(clip: Option<ClipShape>, is_window_root: bool) -> Self
Creates an overlay layer from zero or one clip shape.
§Examples
use ailloli_ui_runtime::scene::{Layer, LayerKind};
assert_eq!(Layer::overlay_with_clip(None, false).kind, LayerKind::Overlay);Trait Implementations§
Auto Trait Implementations§
impl Freeze for Layer
impl !RefUnwindSafe for Layer
impl Send for Layer
impl Sync for Layer
impl Unpin for Layer
impl !UnwindSafe for Layer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<A> IntoClickAction<A> for Awhere
A: Clone + 'static,
impl<A> IntoClickAction<A> for Awhere
A: Clone + 'static,
Source§fn into_click_action(self) -> ClickAction<A>
fn into_click_action(self) -> ClickAction<A>
Implements the into_click_action helper used by this module.