Implement ManagedImage and codec abstraction (#38)
This commit is contained in:
@@ -6,95 +6,30 @@
|
||||
#![allow(non_snake_case)]
|
||||
|
||||
/// C# type: `T:LibreMetaverse.Imaging.ITextureCodec`.
|
||||
pub trait ITextureCodec {
|
||||
/// C# member: `M:LibreMetaverse.Imaging.ITextureCodec.Decode(System.IO.Stream)`.
|
||||
fn decode(
|
||||
&self,
|
||||
stream: Box<dyn libremetaverse_types::compat::ReadWrite + Send>,
|
||||
) -> Result<libremetaverse_imaging::ManagedImage, crate::Error> {
|
||||
libremetaverse_types::not_implemented(
|
||||
"M:LibreMetaverse.Imaging.ITextureCodec.Decode(System.IO.Stream)",
|
||||
)
|
||||
}
|
||||
}
|
||||
/// C# member: `M:LibreMetaverse.Imaging.ITextureCodec.Decode(System.IO.Stream)`.
|
||||
pub use crate::managed_image::ITextureCodec;
|
||||
|
||||
/// C# type: `T:LibreMetaverse.Imaging.ManagedImage`.
|
||||
pub struct ManagedImage {
|
||||
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Alpha`.
|
||||
pub alpha: Vec<u8>,
|
||||
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Blue`.
|
||||
pub blue: Vec<u8>,
|
||||
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Bump`.
|
||||
pub bump: Vec<u8>,
|
||||
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Channels`.
|
||||
pub channels: libremetaverse_imaging::ManagedImageImageChannels,
|
||||
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Green`.
|
||||
pub green: Vec<u8>,
|
||||
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Height`.
|
||||
pub height: i32,
|
||||
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Red`.
|
||||
pub red: Vec<u8>,
|
||||
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Width`.
|
||||
pub width: i32,
|
||||
data: Vec<u8>,
|
||||
}
|
||||
impl ManagedImage {
|
||||
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.#ctor(System.Int32,System.Int32,LibreMetaverse.Imaging.ManagedImage.ImageChannels)`.
|
||||
pub fn new(
|
||||
width: i32,
|
||||
height: i32,
|
||||
channels: libremetaverse_imaging::ManagedImageImageChannels,
|
||||
) -> Result<Self, crate::Error> {
|
||||
libremetaverse_types::not_implemented(
|
||||
"M:LibreMetaverse.Imaging.ManagedImage.#ctor(System.Int32,System.Int32,LibreMetaverse.Imaging.ManagedImage.ImageChannels)",
|
||||
)
|
||||
}
|
||||
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.Clear`.
|
||||
pub fn clear(&mut self) -> Result<(), crate::Error> {
|
||||
libremetaverse_types::not_implemented("M:LibreMetaverse.Imaging.ManagedImage.Clear")
|
||||
}
|
||||
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.Clone`.
|
||||
pub fn clone(&self) -> Result<libremetaverse_imaging::ManagedImage, crate::Error> {
|
||||
libremetaverse_types::not_implemented("M:LibreMetaverse.Imaging.ManagedImage.Clone")
|
||||
}
|
||||
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.ConvertChannels(LibreMetaverse.Imaging.ManagedImage.ImageChannels)`.
|
||||
pub fn convert_channels(
|
||||
&mut self,
|
||||
channels: libremetaverse_imaging::ManagedImageImageChannels,
|
||||
) -> Result<(), crate::Error> {
|
||||
libremetaverse_types::not_implemented(
|
||||
"M:LibreMetaverse.Imaging.ManagedImage.ConvertChannels(LibreMetaverse.Imaging.ManagedImage.ImageChannels)",
|
||||
)
|
||||
}
|
||||
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.ExportRaw`.
|
||||
pub fn export_raw(&self) -> Result<Vec<u8>, crate::Error> {
|
||||
libremetaverse_types::not_implemented("M:LibreMetaverse.Imaging.ManagedImage.ExportRaw")
|
||||
}
|
||||
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.ResizeBilinear(System.Int32,System.Int32)`.
|
||||
pub fn resize_bilinear(&mut self, width: i32, height: i32) -> Result<(), crate::Error> {
|
||||
libremetaverse_types::not_implemented(
|
||||
"M:LibreMetaverse.Imaging.ManagedImage.ResizeBilinear(System.Int32,System.Int32)",
|
||||
)
|
||||
}
|
||||
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.ResizeNearestNeighbor(System.Int32,System.Int32)`.
|
||||
pub fn resize_nearest_neighbor(&mut self, width: i32, height: i32) -> Result<(), crate::Error> {
|
||||
libremetaverse_types::not_implemented(
|
||||
"M:LibreMetaverse.Imaging.ManagedImage.ResizeNearestNeighbor(System.Int32,System.Int32)",
|
||||
)
|
||||
}
|
||||
}
|
||||
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Alpha`.
|
||||
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Blue`.
|
||||
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Bump`.
|
||||
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Channels`.
|
||||
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Green`.
|
||||
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Height`.
|
||||
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Red`.
|
||||
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Width`.
|
||||
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.#ctor(System.Int32,System.Int32,LibreMetaverse.Imaging.ManagedImage.ImageChannels)`.
|
||||
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.Clear`.
|
||||
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.Clone`.
|
||||
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.ConvertChannels(LibreMetaverse.Imaging.ManagedImage.ImageChannels)`.
|
||||
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.ExportRaw`.
|
||||
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.ResizeBilinear(System.Int32,System.Int32)`.
|
||||
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.ResizeNearestNeighbor(System.Int32,System.Int32)`.
|
||||
pub use crate::managed_image::ManagedImage;
|
||||
|
||||
/// C# type: `T:LibreMetaverse.Imaging.ManagedImage.ImageChannels`.
|
||||
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
|
||||
#[repr(transparent)]
|
||||
pub struct ManagedImageImageChannels(pub i32);
|
||||
impl ManagedImageImageChannels {
|
||||
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.ImageChannels.Alpha`.
|
||||
pub const ALPHA: Self = Self(4);
|
||||
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.ImageChannels.Bump`.
|
||||
pub const BUMP: Self = Self(8);
|
||||
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.ImageChannels.Color`.
|
||||
pub const COLOR: Self = Self(2);
|
||||
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.ImageChannels.Gray`.
|
||||
pub const GRAY: Self = Self(1);
|
||||
}
|
||||
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.ImageChannels.Alpha`.
|
||||
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.ImageChannels.Bump`.
|
||||
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.ImageChannels.Color`.
|
||||
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.ImageChannels.Gray`.
|
||||
pub use crate::managed_image::ManagedImageImageChannels;
|
||||
|
||||
Reference in New Issue
Block a user