A Flash Player emulator written in Rust
Go to file
Mike Welsh fffe299cac Use latest git revision for xz2-rs
Submitted a fix for LzmaOptions::new_preset
2016-08-29 17:25:46 -07:00
src Read Matrix translation as twips 2016-08-29 17:15:13 -07:00
test/swfs Initial commit 2016-08-29 00:51:32 -07:00
.gitignore Add rustfmt.toml to .gitignore 2016-08-29 13:36:14 -07:00
Cargo.toml Use latest git revision for xz2-rs 2016-08-29 17:25:46 -07:00
LICENSE.md Initial commit 2016-08-29 00:51:32 -07:00
README.md Fix example in README 2016-08-29 14:10:32 -07:00

README.md

swf

A Rust library for reading and writing the Adobe Flash SWF file format.

# Cargo.toml
[dependencies]
swf = "0.1"

Reading

extern crate swf;

use std::io::BufReader;
use std::fs::File;

fn main() {
    let f = File::open("file.swf").unwrap();
    let reader = BufReader::new(f);
    let swf = swf::read_swf(reader).unwrap();
    println!("The SWF has {} frames", swf.num_frames);
}

Writing

extern crate swf;

use std::io::BufWriter;
use std::fs::File;
use swf::*;

fn main() {
    let f = File::create("file.swf").unwrap();
    let writer = BufWriter::new(f);
    let swf = Swf {
        version: 6,
        compression: Compression::Zlib,
        stage_size: Rectangle { x_min: 0f32, x_max: 400f32, y_min: 0f32, y_max: 400f32 },
        frame_rate: 60f32,
        num_frames: 1,
        tags: vec![
            Tag::SetBackgroundColor(Color { r: 255, g: 0, b: 0, a: 255 }),
            Tag::ShowFrame
        ]
    };
    swf::write_swf(&swf, writer).unwrap();
}

License

swf-rs is distributed under the terms of the GPLv3 license.

See LICENSE.md for details.