pub struct RenderClipPlan {
pub scissor: Option<Rect>,
pub rounded_masks: Vec<ClipEntry>,
pub primary_round_mask: Option<ClipEntry>,
pub clip_mode: ClipRenderMode,
}Expand description
GPU-ready interpretation of a non-destructive clip stack.
scissor is the rectangular intersection of the full stack. Rounded entries
remain separate so window-root identity and nested masks are not discarded.
§Examples
use ailloli_ui_render_wgpu::resolve_clip_render_plan;
use ailloli_ui_runtime::scene::ClipStackSnapshot;
let clip = ClipStackSnapshot::from_entries(Vec::new());
let plan = resolve_clip_render_plan(&clip, 0);
assert!(plan.rounded_masks.is_empty());Fields§
§scissor: Option<Rect>Rectangular clip intersection in logical coordinates, or none for an empty stack.
rounded_masks: Vec<ClipEntry>All rounded entries in original stack order.
primary_round_mask: Option<ClipEntry>Window-root rounded entry when present, otherwise the first rounded entry.
clip_mode: ClipRenderModeGPU implementation selected for the primary rounded mask.
Trait Implementations§
Source§impl Clone for RenderClipPlan
impl Clone for RenderClipPlan
Source§fn clone(&self) -> RenderClipPlan
fn clone(&self) -> RenderClipPlan
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RenderClipPlan
impl Debug for RenderClipPlan
Source§impl PartialEq for RenderClipPlan
impl PartialEq for RenderClipPlan
impl StructuralPartialEq for RenderClipPlan
Auto Trait Implementations§
impl Freeze for RenderClipPlan
impl RefUnwindSafe for RenderClipPlan
impl Send for RenderClipPlan
impl Sync for RenderClipPlan
impl Unpin for RenderClipPlan
impl UnwindSafe for RenderClipPlan
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<A> IntoClickAction<A> for Awhere
A: Clone + 'static,
impl<A> IntoClickAction<A> for Awhere
A: Clone + 'static,
§fn into_click_action(self) -> ClickAction<A>
fn into_click_action(self) -> ClickAction<A>
Implements the into_click_action helper used by this module.
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more