Skip to main content

ferroui_base/media/
drawing_collection.rs

1use crate::media::media_collection::media_collection_type;
2use crate::media::{Drawing, MediaCollection, ResetBehavior};
3use crate::Ref;
4
5media_collection_type!(
6    /// A collection of [`Drawing`]s.
7    DrawingCollection, Ref<Drawing>
8);
9
10impl DrawingCollection {
11    /// Creates an empty collection.
12    pub fn new() -> Self {
13        let list = MediaCollection::new();
14        list.set_reset_behavior(ResetBehavior::Remove);
15        Self(list)
16    }
17
18    /// Creates a collection holding `items`.
19    pub fn from_items(items: impl IntoIterator<Item = Ref<Drawing>>) -> Self {
20        let list = MediaCollection::from_items(items);
21        list.set_reset_behavior(ResetBehavior::Remove);
22        Self(list)
23    }
24}