pub struct PageTarget {
pub layer: u32,
pub depth: usize,
pub parity: PageParity,
pub size: PageSize,
pub bounds: RectU16,
pub continued: bool,
}Expand description
One pooled intermediate page a round renders into.
Fields§
§layer: u32The layer this page holds, indexed into
CommandRecorder::layers.
depth: usizeThe layer’s depth counted over isolated layers only, one-based.
parity: PageParityThe group the page comes from — depth’s parity when
either of the pair was free, the other of the pair when it was not, and
the spill page when neither was.
size: PageSizeThe extent to acquire the page at.
bounds: RectU16The tile-aligned device-space bounds this page holds — the layer’s own for a layer that fits one page, and one column band of them for a layer wider than any page is.
The contents are rendered at the page’s origin, so every strip drawn
into this round is offset by -(bounds.x0, bounds.y0) and clipped to
this rectangle: a banded layer’s rounds are all handed the same ops, so
this is what selects the part of them each band actually holds. The
renderer’s PageWindow is where both halves are applied.
continued: boolWhether an earlier round of this same layer already rendered into this page, so this one loads its contents instead of clearing them.
A pooled page holds whatever its last holder left there, which is why a layer’s first round always clears it. A layer whose round was cut keeps the page across the cut — clearing again would wipe the half already drawn — and no other layer can have taken the group in between, because the cut is what made this layer the group’s holder.
Trait Implementations§
Source§impl Clone for PageTarget
impl Clone for PageTarget
Source§impl Debug for PageTarget
impl Debug for PageTarget
impl Eq for PageTarget
Source§impl PartialEq for PageTarget
impl PartialEq for PageTarget
impl StructuralPartialEq for PageTarget
Auto Trait Implementations§
impl Freeze for PageTarget
impl RefUnwindSafe for PageTarget
impl Send for PageTarget
impl Sync for PageTarget
impl Unpin for PageTarget
impl UnsafeUnpin for PageTarget
impl UnwindSafe for PageTarget
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.