///|
/// Controls palette size and timeline metadata emitted by the GIF encoder.
pub(all) struct EncodeOptions {
max_colors : Int
default_delay_cs : Int
emit_loop_extension : Bool
} derive(Debug)
///|
pub fn EncodeOptions::default() -> EncodeOptions {
{ max_colors: 256, default_delay_cs: 0, emit_loop_extension: true }
}
///|
pub fn EncodeOptions::new(
max_colors~ : Int,
default_delay_cs~ : Int,
) -> EncodeOptions {
{
max_colors,
default_delay_cs: if default_delay_cs < 0 {
0
} else {
default_delay_cs
},
emit_loop_extension: true,
}
}
///|
pub fn EncodeOptions::with_loop_extension(
self : EncodeOptions,
enabled : Bool,
) -> EncodeOptions {
{ ..self, emit_loop_extension: enabled }
}
///|
pub fn EncodeOptions::colors(self : EncodeOptions) -> Int {
self.max_colors
}
///|
pub fn EncodeOptions::default_delay(self : EncodeOptions) -> Int {
self.default_delay_cs
}
///|
pub fn EncodeOptions::loop_extension(self : EncodeOptions) -> Bool {
self.emit_loop_extension
}