diff options
author | Genny <gen@nyble.dev> | 2021-03-10 01:26:24 -0600 |
---|---|---|
committer | Genny <gen@nyble.dev> | 2021-03-10 01:26:24 -0600 |
commit | 743888ae0c1038a92f4a0b64709a313eba70c887 (patch) | |
tree | 3b1f6e9fbe2524d3177a4ed12e3486a4fb009460 /src/gif.rs | |
parent | a368be4dfb3c1f75f6bcfdc297fe0372fb5f6092 (diff) | |
download | gifed-743888ae0c1038a92f4a0b64709a313eba70c887.tar.gz gifed-743888ae0c1038a92f4a0b64709a313eba70c887.zip |
Refactor code and get ready for extension blocks
Diffstat (limited to 'src/gif.rs')
-rw-r--r-- | src/gif.rs | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/gif.rs b/src/gif.rs index c3ef56b..f6ff345 100644 --- a/src/gif.rs +++ b/src/gif.rs @@ -1,10 +1,9 @@ -use crate::block::{ColorTable, Image, ScreenDescriptor, Version}; - +use crate::block::{Block, ColorTable, ScreenDescriptor, Version}; pub struct Gif { pub header: Version, pub screen_descriptor: ScreenDescriptor, pub global_color_table: Option<ColorTable>, - pub images: Vec<Image> + pub blocks: Vec<Block> // Trailer at the end of this struct is 0x3B // } @@ -28,9 +27,13 @@ impl Gif { 0 }; - for image in self.images.iter() { - boxed = image.as_boxed_slice(mcs); - out.extend_from_slice(&*boxed); + for block in self.blocks.iter() { + match block { + Block::IndexedImage(image) => { + boxed = image.as_boxed_slice(mcs); + out.extend_from_slice(&*boxed); + } + } } // Write Trailer |