swf_emitter/
primitives.rs1use std::io;
2
3pub fn emit_u8<W: io::Write + ?Sized>(writer: &mut W, value: u8) -> io::Result<()> {
4 writer.write_all(&[value])
5}
6
7pub fn emit_le_u16<W: io::Write + ?Sized>(writer: &mut W, value: u16) -> io::Result<()> {
8 writer.write_all(&value.to_le_bytes())
9}
10
11pub fn emit_le_u32<W: io::Write + ?Sized>(writer: &mut W, value: u32) -> io::Result<()> {
12 writer.write_all(&value.to_le_bytes())
13}
14
15pub fn emit_le_i16<W: io::Write + ?Sized>(writer: &mut W, value: i16) -> io::Result<()> {
16 writer.write_all(&value.to_le_bytes())
17}
18
19pub fn emit_le_i32<W: io::Write + ?Sized>(writer: &mut W, value: i32) -> io::Result<()> {
20 writer.write_all(&value.to_le_bytes())
21}
22
23pub fn emit_le_f16<W: io::Write + ?Sized>(writer: &mut W, value: f32) -> io::Result<()> {
24 let value = half::f16::from_f32(value);
25 writer.write_all(&value.to_bits().to_le_bytes())
26}
27
28pub fn emit_le_f32<W: io::Write + ?Sized>(writer: &mut W, value: f32) -> io::Result<()> {
29 use byteorder::WriteBytesExt;
30 writer.write_f32::<byteorder::LittleEndian>(value)
31}