pub struct PaintList(/* private fields */);
Expand description
A list of Shape
s paired with a clip rectangle.
Implementations§
source§impl PaintList
impl PaintList
pub fn is_empty(&self) -> bool
sourcepub fn add(&mut self, clip_rect: Rect, shape: Shape) -> ShapeIdx
pub fn add(&mut self, clip_rect: Rect, shape: Shape) -> ShapeIdx
Returns the index of the new Shape
that can be used with PaintList::set
.
pub fn extend<I: IntoIterator<Item = Shape>>( &mut self, clip_rect: Rect, shapes: I )
sourcepub fn set(&mut self, idx: ShapeIdx, clip_rect: Rect, shape: Shape)
pub fn set(&mut self, idx: ShapeIdx, clip_rect: Rect, shape: Shape)
Modify an existing Shape
.
Sometimes you want to paint a frame behind some contents, but don’t know how large the frame needs to be
until the contents have been added, and therefor also painted to the PaintList
.
The solution is to allocate a Shape
using let idx = paint_list.add(cr, Shape::Noop);
and then later setting it using paint_list.set(idx, cr, frame);
.
sourcepub fn reset_shape(&mut self, idx: ShapeIdx)
pub fn reset_shape(&mut self, idx: ShapeIdx)
Set the given shape to be empty (a Shape::Noop
).
sourcepub fn translate(&mut self, delta: Vec2)
pub fn translate(&mut self, delta: Vec2)
Translate each Shape
and clip rectangle by this much, in-place
sourcepub fn all_entries(&self) -> impl ExactSizeIterator<Item = &ClippedShape>
pub fn all_entries(&self) -> impl ExactSizeIterator<Item = &ClippedShape>
Read-only access to all held shapes.
pub fn last(&self) -> Option<&ClippedShape>
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for PaintList
impl Send for PaintList
impl Sync for PaintList
impl Unpin for PaintList
impl !UnwindSafe for PaintList
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