pub struct ImageManager { /* private fields */ }Implementations§
Source§impl ImageManager
impl ImageManager
Sourcepub fn debug_live_image_memory_stats(&self) -> ImageMemoryStats
pub fn debug_live_image_memory_stats(&self) -> ImageMemoryStats
Count live decoded pixels, deduplicating albums and shared frame images. This excludes allocator metadata and temporary decode buffers.
pub fn new(project_dir: PathBuf) -> Self
Sourcepub fn release_recent_albums(&mut self)
pub fn release_recent_albums(&mut self)
Lets the recently used albums go once nothing else holds them.
pub fn project_dir(&self) -> &Path
pub fn current_append_dir(&self) -> &str
pub fn set_current_append_dir(&mut self, append_dir: impl Into<String>)
pub fn set_current_append_dir_ref(&mut self, append_dir: &str)
Sourcepub fn get(&self, id: &ImageHandle) -> Option<Arc<RgbaImage>>
pub fn get(&self, id: &ImageHandle) -> Option<Arc<RgbaImage>>
Borrow the resource handle and share its current pixel buffer. The returned pixels can outlive a later in-place image update.
pub fn get_entry(&self, id: &ImageHandle) -> Option<(Arc<RgbaImage>, u64)>
Sourcepub fn album_len(&self, id: &ImageHandle) -> usize
pub fn album_len(&self, id: &ImageHandle) -> usize
Script-visible canvas size, independent of the cropped GPU texture. The number of cuts in the album an image belongs to (a G00’s pattern count).
pub fn original_size(&self, id: &ImageHandle) -> Option<(u32, u32)>
Sourcepub fn image_handle(&self, index: ImageKey) -> Option<ImageHandle>
pub fn image_handle(&self, index: ImageKey) -> Option<ImageHandle>
Upgrade a non-owning key while the resource is still alive. Returns None after the last handle is dropped; a key cannot resurrect it.
pub fn contains(&self, index: ImageKey) -> bool
Sourcepub fn solid_rgba(&mut self, rgba: (u8, u8, u8, u8)) -> ImageHandle
pub fn solid_rgba(&mut self, rgba: (u8, u8, u8, u8)) -> ImageHandle
Create a 1x1 solid RGBA image and return its image id.
This is used for UI placeholders (e.g. message window background) until full UI skinning is implemented.
Sourcepub fn load_bg(&mut self, name: &str) -> Result<ImageHandle>
pub fn load_bg(&mut self, name: &str) -> Result<ImageHandle>
Load a BG resource by name (Siglus policy: g00/ then bg/, with extension fallback).
BG is not animated in our current bring-up, so frame index is always 0.
Sourcepub fn load_bg_frame(
&mut self,
name: &str,
frame_index: usize,
) -> Result<ImageHandle>
pub fn load_bg_frame( &mut self, name: &str, frame_index: usize, ) -> Result<ImageHandle>
Load a BG resource with an explicit frame index (kept for compatibility).
Sourcepub fn load_g00(&mut self, name: &str, frame_index: u32) -> Result<ImageHandle>
pub fn load_g00(&mut self, name: &str, frame_index: u32) -> Result<ImageHandle>
Load an image restricted to the g00/ directory (with extension fallback).
Used for CHR / sprite image loading.
Sourcepub fn load_g00_composed(&mut self, descriptor: &str) -> Result<ImageHandle>
pub fn load_g00_composed(&mut self, descriptor: &str) -> Result<ImageHandle>
Load Siglus/Tona3’s composed-G00 descriptor syntax:
base(x,y,cut,blend=n)|overlay(x,y,cut,blend=n)|....
Tona3 creates one texture from the first cut and draws every later cut into that fixed-size texture. Coordinates are anchor-relative: each overlay is shifted by the base cut center minus the overlay cut center.
Sourcepub fn load_file(
&mut self,
path: &Path,
frame_index: usize,
) -> Result<ImageHandle>
pub fn load_file( &mut self, path: &Path, frame_index: usize, ) -> Result<ImageHandle>
Load an image from an explicit path (relative to project_dir if not absolute).
Sourcepub fn insert_image(&mut self, img: RgbaImage) -> ImageHandle
pub fn insert_image(&mut self, img: RgbaImage) -> ImageHandle
Insert an already-decoded image into the manager and return a new ImageHandle.
pub fn insert_image_arc(&mut self, img: Arc<RgbaImage>) -> ImageHandle
Sourcepub fn replace_image(&mut self, id: &ImageHandle, img: RgbaImage) -> Result<()>
pub fn replace_image(&mut self, id: &ImageHandle, img: RgbaImage) -> Result<()>
Replace an existing image in-place and bump its version.
This allows the renderer to update the GPU texture without changing the ImageHandle.
pub fn replace_image_arc( &mut self, id: &ImageHandle, img: Arc<RgbaImage>, ) -> Result<()>
pub fn debug_image_info(&self, id: &ImageHandle) -> Option<DebugImageInfo>
pub fn resident_bytes(&self) -> usize
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ImageManager
impl RefUnwindSafe for ImageManager
impl Send for ImageManager
impl Sync for ImageManager
impl Unpin for ImageManager
impl UnsafeUnpin for ImageManager
impl UnwindSafe for ImageManager
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.