pub struct CrxImage {
header: Header,
color_type: ImageColorType,
data: CrxImageData,
compress_level: u32,
keep_original_bpp: bool,
zstd: bool,
zstd_compression_level: i32,
row_type: CircusCrxMode,
canvas: bool,
}Available on crate features
circus and circus-img only.Expand description
Circus CRX Image
Fields§
§header: Header§color_type: ImageColorType§data: CrxImageData§compress_level: u32§keep_original_bpp: bool§zstd: bool§zstd_compression_level: i32§row_type: CircusCrxMode§canvas: boolImplementations§
Source§impl CrxImage
impl CrxImage
Sourcepub fn new<T: Read + Seek>(data: T, config: &ExtraConfig) -> Result<Self>
pub fn new<T: Read + Seek>(data: T, config: &ExtraConfig) -> Result<Self>
Creates a new CrxImage from the given data and configuration.
data- The reader to read the CRX image from.config- Extra configuration options.
Sourcepub fn with_canvas(self, canvas: bool) -> Self
pub fn with_canvas(self, canvas: bool) -> Self
Whether to draw image on canvas if canvas’s width and height are specified in image.
Sourcepub fn draw_diff(&self, diff: &Self) -> Result<ImageData>
pub fn draw_diff(&self, diff: &Self) -> Result<ImageData>
Draws another image on this image.
Returns a new ImageData with the combined image.
fn decode_row0( dst: &mut Vec<u8>, dst_p: usize, src: &[u8], src_p: usize, width: u16, pixel_size: u8, ) -> Result<usize>
fn decode_row1( dst: &mut Vec<u8>, dst_p: usize, src: &[u8], src_p: usize, width: u16, pixel_size: u8, prev_row_p: usize, ) -> Result<usize>
fn decode_row2( dst: &mut Vec<u8>, dst_p: usize, src: &[u8], src_p: usize, width: u16, pixel_size: u8, prev_row_p: usize, ) -> Result<usize>
fn decode_row3( dst: &mut Vec<u8>, dst_p: usize, src: &[u8], src_p: usize, width: u16, pixel_size: u8, prev_row_p: usize, ) -> Result<usize>
fn decode_row4( dst: &mut Vec<u8>, dst_p: usize, src: &[u8], src_p: usize, width: u16, pixel_size: u8, ) -> Result<usize>
fn read_v1_palette<T: Read>( reader: &mut T, raw_colors: usize, ) -> Result<Vec<u8>>
fn unpack_v1<T: Read>(reader: &mut T, output_len: usize) -> Result<Vec<u8>>
fn decode_image( dst: &mut Vec<u8>, src: &[u8], width: u16, height: u16, pixel_size: u8, encode_type: &mut Vec<u8>, ) -> Result<()>
fn encode_row0( dst: &mut Vec<u8>, src: &[u8], width: u16, pixel_size: u8, y: u16, )
fn encode_row1( dst: &mut Vec<u8>, src: &[u8], width: u16, pixel_size: u8, y: u16, )
fn encode_row2( dst: &mut Vec<u8>, src: &[u8], width: u16, pixel_size: u8, y: u16, )
fn encode_row3( dst: &mut Vec<u8>, src: &[u8], width: u16, pixel_size: u8, y: u16, )
fn encode_row4( dst: &mut Vec<u8>, src: &[u8], width: u16, pixel_size: u8, y: u16, )
fn encode_row_best( dst: &mut Vec<u8>, src: &[u8], width: u16, pixel_size: u8, y: u16, ) -> Result<()>
fn encode_image_best( src: &[u8], width: u16, height: u16, pixel_size: u8, ) -> Result<Vec<u8>>
fn encode_image_fixed( src: &[u8], width: u16, height: u16, pixel_size: u8, row_type: u8, ) -> Result<Vec<u8>>
fn encode_image_origin( src: &[u8], width: u16, height: u16, pixel_size: u8, row_type: &[u8], ) -> Result<Vec<u8>>
Sourcepub fn create_image<T: Write + Seek>(
data: ImageData,
writer: T,
config: &ExtraConfig,
) -> Result<()>
pub fn create_image<T: Write + Seek>( data: ImageData, writer: T, config: &ExtraConfig, ) -> Result<()>
Creates a CRX image file from the given image data and writes it to the specified writer.
data- The input image data.writer- The writer to write the CRX image to.config- Extra configuration options.
Trait Implementations§
Source§impl Script for CrxImage
impl Script for CrxImage
Source§fn default_output_script_type(&self) -> OutputScriptType
fn default_output_script_type(&self) -> OutputScriptType
Returns the default output script type for this script.
Source§fn default_format_type(&self) -> FormatOptions
fn default_format_type(&self) -> FormatOptions
Returns the default format options for this script.
Source§fn is_image(&self) -> bool
fn is_image(&self) -> bool
Available on crate feature
image only.Returns true if this script type is an image.
Source§fn export_image(&self) -> Result<ImageData>
fn export_image(&self) -> Result<ImageData>
Available on crate feature
image only.Exports the image data from this script.
Source§fn import_image<'a>(
&'a self,
data: ImageData,
file: Box<dyn WriteSeek + 'a>,
) -> Result<()>
fn import_image<'a>( &'a self, data: ImageData, file: Box<dyn WriteSeek + 'a>, ) -> Result<()>
Available on crate feature
image only.Imports an image into this script. Read more
Source§fn is_output_supported(&self, output: OutputScriptType) -> bool
fn is_output_supported(&self, output: OutputScriptType) -> bool
Checks if the given output script type is supported by this script.
Source§fn custom_output_extension<'a>(&'a self) -> &'a str
fn custom_output_extension<'a>(&'a self) -> &'a str
Returns the output extension for this script when exporting with custom output.
Source§fn multiple_message_files(&self) -> bool
fn multiple_message_files(&self) -> bool
Returns true if this script can contains multiple message files.
Source§fn extract_multiple_messages(&self) -> Result<HashMap<String, Vec<Message>>>
fn extract_multiple_messages(&self) -> Result<HashMap<String, Vec<Message>>>
Extract multiple messages from this script.
Source§fn import_messages<'a>(
&'a self,
_messages: Vec<Message>,
_file: Box<dyn WriteSeek + 'a>,
_filename: &str,
_encoding: Encoding,
_replacement: Option<&'a ReplacementTable>,
) -> Result<()>
fn import_messages<'a>( &'a self, _messages: Vec<Message>, _file: Box<dyn WriteSeek + 'a>, _filename: &str, _encoding: Encoding, _replacement: Option<&'a ReplacementTable>, ) -> Result<()>
Import messages into this script. Read more
Source§fn import_multiple_messages<'a>(
&'a self,
_messages: HashMap<String, Vec<Message>>,
_file: Box<dyn WriteSeek + 'a>,
_filename: &str,
_encoding: Encoding,
_replacement: Option<&'a ReplacementTable>,
) -> Result<()>
fn import_multiple_messages<'a>( &'a self, _messages: HashMap<String, Vec<Message>>, _file: Box<dyn WriteSeek + 'a>, _filename: &str, _encoding: Encoding, _replacement: Option<&'a ReplacementTable>, ) -> Result<()>
Import multiple messages into this script. Read more
Source§fn import_messages_filename(
&self,
messages: Vec<Message>,
filename: &str,
encoding: Encoding,
replacement: Option<&ReplacementTable>,
) -> Result<()>
fn import_messages_filename( &self, messages: Vec<Message>, filename: &str, encoding: Encoding, replacement: Option<&ReplacementTable>, ) -> Result<()>
Import messages into this script. Read more
Source§fn import_multiple_messages_filename(
&self,
messages: HashMap<String, Vec<Message>>,
filename: &str,
encoding: Encoding,
replacement: Option<&ReplacementTable>,
) -> Result<()>
fn import_multiple_messages_filename( &self, messages: HashMap<String, Vec<Message>>, filename: &str, encoding: Encoding, replacement: Option<&ReplacementTable>, ) -> Result<()>
Import multiple messages into this script. Read more
Source§fn custom_export(&self, _filename: &Path, _encoding: Encoding) -> Result<()>
fn custom_export(&self, _filename: &Path, _encoding: Encoding) -> Result<()>
Exports data from this script. Read more
Source§fn custom_import<'a>(
&'a self,
_custom_filename: &'a str,
_file: Box<dyn WriteSeek + 'a>,
_encoding: Encoding,
_output_encoding: Encoding,
) -> Result<()>
fn custom_import<'a>( &'a self, _custom_filename: &'a str, _file: Box<dyn WriteSeek + 'a>, _encoding: Encoding, _output_encoding: Encoding, ) -> Result<()>
Imports data into this script. Read more
Source§fn custom_import_filename(
&self,
custom_filename: &str,
filename: &str,
encoding: Encoding,
output_encoding: Encoding,
) -> Result<()>
fn custom_import_filename( &self, custom_filename: &str, filename: &str, encoding: Encoding, output_encoding: Encoding, ) -> Result<()>
Imports data into this script. Read more
Source§fn is_archive(&self) -> bool
fn is_archive(&self) -> bool
Returns true if this script is an archive.
Source§fn iter_archive_filename<'a>(
&'a self,
) -> Result<Box<dyn Iterator<Item = Result<String>> + 'a>>
fn iter_archive_filename<'a>( &'a self, ) -> Result<Box<dyn Iterator<Item = Result<String>> + 'a>>
Returns an iterator over archive filenames.
Source§fn iter_archive_offset<'a>(
&'a self,
) -> Result<Box<dyn Iterator<Item = Result<u64>> + 'a>>
fn iter_archive_offset<'a>( &'a self, ) -> Result<Box<dyn Iterator<Item = Result<u64>> + 'a>>
Returns an iterator over archive offsets.
Source§fn open_file<'a>(
&'a self,
_index: usize,
) -> Result<Box<dyn ArchiveContent + 'a>>
fn open_file<'a>( &'a self, _index: usize, ) -> Result<Box<dyn ArchiveContent + 'a>>
Opens a file in the archive by its index.
Source§fn open_file_by_name<'a>(
&'a self,
name: &str,
ignore_case: bool,
) -> Result<Box<dyn ArchiveContent + 'a>>
fn open_file_by_name<'a>( &'a self, name: &str, ignore_case: bool, ) -> Result<Box<dyn ArchiveContent + 'a>>
Opens a file in the archive by its name. Read more
Source§fn open_file_by_offset<'a>(
&'a self,
offset: u64,
) -> Result<Box<dyn ArchiveContent + 'a>>
fn open_file_by_offset<'a>( &'a self, offset: u64, ) -> Result<Box<dyn ArchiveContent + 'a>>
Opens a file in the archive by its offset.
Source§fn archive_output_ext<'a>(&'a self) -> Option<&'a str>
fn archive_output_ext<'a>(&'a self) -> Option<&'a str>
Returns output extension for archive output folder.
Source§fn import_image_filename(&self, data: ImageData, filename: &str) -> Result<()>
fn import_image_filename(&self, data: ImageData, filename: &str) -> Result<()>
Available on crate feature
image only.Imports an image into this script. Read more
Source§fn is_multi_image(&self) -> bool
fn is_multi_image(&self) -> bool
Available on crate feature
image only.Returns true if this script is contains multiple images.
Source§fn export_multi_image<'a>(
&'a self,
) -> Result<Box<dyn Iterator<Item = Result<ImageDataWithName>> + 'a>>
fn export_multi_image<'a>( &'a self, ) -> Result<Box<dyn Iterator<Item = Result<ImageDataWithName>> + 'a>>
Available on crate feature
image only.Exports multiple images from this script.
Source§fn import_multi_image<'a>(
&'a self,
_data: Vec<ImageDataWithName>,
_file: Box<dyn WriteSeek + 'a>,
) -> Result<()>
fn import_multi_image<'a>( &'a self, _data: Vec<ImageDataWithName>, _file: Box<dyn WriteSeek + 'a>, ) -> Result<()>
Available on crate feature
image only.Imports multiple images into this script. Read more
Source§fn import_multi_image_filename(
&self,
data: Vec<ImageDataWithName>,
filename: &str,
) -> Result<()>
fn import_multi_image_filename( &self, data: Vec<ImageDataWithName>, filename: &str, ) -> Result<()>
Available on crate feature
image only.Imports multiple images into this script. Read more
Auto Trait Implementations§
impl Freeze for CrxImage
impl RefUnwindSafe for CrxImage
impl Send for CrxImage
impl Sync for CrxImage
impl Unpin for CrxImage
impl UnwindSafe for CrxImage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more