core: Remove boxes from library items

This commit is contained in:
Mike Welsh 2019-12-16 10:53:50 -08:00
parent 45e497826b
commit b6df9fded0
3 changed files with 21 additions and 22 deletions

View File

@ -3,14 +3,14 @@ use crate::display_object::{Bitmap, Button, EditText, Graphic, MorphShape, Movie
use crate::font::Font; use crate::font::Font;
pub enum Character<'gc> { pub enum Character<'gc> {
EditText(Box<EditText<'gc>>), EditText(EditText<'gc>),
Graphic(Box<Graphic<'gc>>), Graphic(Graphic<'gc>),
MovieClip(Box<MovieClip<'gc>>), MovieClip(MovieClip<'gc>),
Bitmap(Box<Bitmap<'gc>>), Bitmap(Bitmap<'gc>),
Button(Box<Button<'gc>>), Button(Button<'gc>),
Font(Box<Font>), Font(Box<Font>),
MorphShape(Box<MorphShape<'gc>>), MorphShape(MorphShape<'gc>),
Text(Box<Text<'gc>>), Text(Text<'gc>),
Sound(SoundHandle), Sound(SoundHandle),
} }

View File

@ -912,7 +912,7 @@ impl<'gc, 'a> MovieClipData<'gc> {
); );
context context
.library .library
.register_character(define_bits_lossless.id, Character::Bitmap(Box::new(bitmap))); .register_character(define_bits_lossless.id, Character::Bitmap(bitmap));
Ok(()) Ok(())
} }
@ -942,7 +942,7 @@ impl<'gc, 'a> MovieClipData<'gc> {
let graphic = Graphic::from_swf_tag(context, &swf_shape); let graphic = Graphic::from_swf_tag(context, &swf_shape);
context context
.library .library
.register_character(swf_shape.id, Character::Graphic(Box::new(graphic))); .register_character(swf_shape.id, Character::Graphic(graphic));
Ok(()) Ok(())
} }
@ -1062,7 +1062,7 @@ impl<'gc, 'a> MovieClipData<'gc> {
); );
context context
.library .library
.register_character(id, Character::Bitmap(Box::new(bitmap))); .register_character(id, Character::Bitmap(bitmap));
Ok(()) Ok(())
} }
@ -1091,7 +1091,7 @@ impl<'gc, 'a> MovieClipData<'gc> {
); );
context context
.library .library
.register_character(id, Character::Bitmap(Box::new(bitmap))); .register_character(id, Character::Bitmap(bitmap));
Ok(()) Ok(())
} }
@ -1128,7 +1128,7 @@ impl<'gc, 'a> MovieClipData<'gc> {
); );
context context
.library .library
.register_character(id, Character::Bitmap(Box::new(bitmap))); .register_character(id, Character::Bitmap(bitmap));
Ok(()) Ok(())
} }
@ -1166,7 +1166,7 @@ impl<'gc, 'a> MovieClipData<'gc> {
); );
context context
.library .library
.register_character(id, Character::Bitmap(Box::new(bitmap))); .register_character(id, Character::Bitmap(bitmap));
Ok(()) Ok(())
} }
@ -1180,7 +1180,7 @@ impl<'gc, 'a> MovieClipData<'gc> {
let button = Button::from_swf_tag(&swf_button, &context.library, context.gc_context); let button = Button::from_swf_tag(&swf_button, &context.library, context.gc_context);
context context
.library .library
.register_character(swf_button.id, Character::Button(Box::new(button))); .register_character(swf_button.id, Character::Button(button));
Ok(()) Ok(())
} }
@ -1194,7 +1194,7 @@ impl<'gc, 'a> MovieClipData<'gc> {
let button = Button::from_swf_tag(&swf_button, &context.library, context.gc_context); let button = Button::from_swf_tag(&swf_button, &context.library, context.gc_context);
context context
.library .library
.register_character(swf_button.id, Character::Button(Box::new(button))); .register_character(swf_button.id, Character::Button(button));
Ok(()) Ok(())
} }
@ -1209,7 +1209,7 @@ impl<'gc, 'a> MovieClipData<'gc> {
let edit_text = EditText::from_swf_tag(context, swf_edit_text); let edit_text = EditText::from_swf_tag(context, swf_edit_text);
context context
.library .library
.register_character(edit_text.id(), Character::EditText(Box::new(edit_text))); .register_character(edit_text.id(), Character::EditText(edit_text));
Ok(()) Ok(())
} }
@ -1321,7 +1321,7 @@ impl<'gc, 'a> MovieClipData<'gc> {
context context
.library .library
.register_character(id, Character::MovieClip(Box::new(movie_clip))); .register_character(id, Character::MovieClip(movie_clip));
Ok(()) Ok(())
} }
@ -1337,7 +1337,7 @@ impl<'gc, 'a> MovieClipData<'gc> {
let text_object = Text::from_swf_tag(context, &text); let text_object = Text::from_swf_tag(context, &text);
context context
.library .library
.register_character(text.id, Character::Text(Box::new(text_object))); .register_character(text.id, Character::Text(text_object));
Ok(()) Ok(())
} }

View File

@ -426,10 +426,9 @@ impl<Audio: AudioBackend, Renderer: RenderBackend, Navigator: NavigatorBackend>
// Finalize morph shapes. // Finalize morph shapes.
for (id, static_data) in morph_shapes { for (id, static_data) in morph_shapes {
let morph_shape = MorphShape::new(context.gc_context, static_data); let morph_shape = MorphShape::new(context.gc_context, static_data);
context.library.register_character( context
id, .library
crate::character::Character::MorphShape(Box::new(morph_shape)), .register_character(id, crate::character::Character::MorphShape(morph_shape));
);
} }
}); });
} }