pub struct TextAtlasFrame<'a> { /* private fields */ }Expand description
Scoped atlas access for one frame (pins pages until drop).
Dropping the guard calls finish_frame, unpinning every page. The guard’s
mutable borrow prevents other atlas access during the frame.
§Examples
use ailloli_ui_render_wgpu::text::TextAtlasFrame;
let _: usize = std::mem::size_of::<TextAtlasFrame<'static>>();Implementations§
Source§impl<'a> TextAtlasFrame<'a>
impl<'a> TextAtlasFrame<'a>
Sourcepub fn get_or_rasterize(
&mut self,
device: &Device,
queue: &Queue,
bind_group_layout: &BindGroupLayout,
key: GlyphKey,
font_data: &[u8],
) -> Option<(u8, Glyph)>
pub fn get_or_rasterize( &mut self, device: &Device, queue: &Queue, bind_group_layout: &BindGroupLayout, key: GlyphKey, font_data: &[u8], ) -> Option<(u8, Glyph)>
Looks up or rasterizes a glyph and pins its page until this guard drops.
Returns None for invalid font data, a missing glyph image, an oversized
allocation, or when all pages are pinned and full.
§Examples
use ailloli_ui_render_wgpu::text::{GlyphKey, TextAtlasFrame};
fn lookup(frame: &mut TextAtlasFrame<'_>, device: &wgpu::Device,
queue: &wgpu::Queue, layout: &wgpu::BindGroupLayout, font: &[u8], key: GlyphKey) {
let _glyph: Option<(u8, ailloli_ui_render_wgpu::text::Glyph)> =
frame.get_or_rasterize(device, queue, layout, key, font);
}Sourcepub fn record_missing_face(&mut self)
pub fn record_missing_face(&mut self)
Records one glyph skipped because its face bytes were unavailable.
§Examples
use ailloli_ui_render_wgpu::text::TextAtlasFrame;
fn missing(frame: &mut TextAtlasFrame<'_>) { frame.record_missing_face(); }Sourcepub fn stats(&self) -> TextAtlasStats
pub fn stats(&self) -> TextAtlasStats
Returns current per-frame counters and allocated page count.
§Examples
use ailloli_ui_render_wgpu::text::{TextAtlasFrame, TextAtlasStats};
fn stats(frame: &TextAtlasFrame<'_>) -> TextAtlasStats { frame.stats() }Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for TextAtlasFrame<'a>
impl<'a> !RefUnwindSafe for TextAtlasFrame<'a>
impl<'a> Send for TextAtlasFrame<'a>
impl<'a> Sync for TextAtlasFrame<'a>
impl<'a> Unpin for TextAtlasFrame<'a>
impl<'a> !UnwindSafe for TextAtlasFrame<'a>
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