use crate::backend::audio::SoundHandle; use crate::binary_data::BinaryData; use crate::display_object::{ Avm1Button, Avm2Button, Bitmap, EditText, Graphic, MorphShape, MovieClip, Text, Video, }; use crate::font::Font; use gc_arena::Collect; #[derive(Clone, Collect, Debug)] #[collect(no_drop)] pub enum Character<'gc> { EditText(EditText<'gc>), Graphic(Graphic<'gc>), MovieClip(MovieClip<'gc>), Bitmap { bitmap: Bitmap<'gc> }, Avm1Button(Avm1Button<'gc>), Avm2Button(Avm2Button<'gc>), Font(Font<'gc>), MorphShape(MorphShape<'gc>), Text(Text<'gc>), Sound(#[collect(require_static)] SoundHandle), Video(Video<'gc>), BinaryData(BinaryData), }