Function push_text_scaled

Source
pub fn push_text_scaled(
    out: &mut Vec<TexVertex>,
    text_draws: &mut Vec<(u8, Range<u32>)>,
    surface: [f32; 2],
    scale: Scale,
    atlas: &mut TextAtlas,
    device: &Device,
    queue: &Queue,
    bind_group_layout: &BindGroupLayout,
    face_blobs: &HashMap<u64, Arc<[u8]>>,
    dt: &DrawText,
)
Expand description

Appends textured glyph quads for an already-started atlas frame.

Glyph sizes are rounded and clamped to 8..=128 physical pixels. Positions are snapped to whole physical pixels. Callers must finish the atlas frame after encoding all text that relies on pinned pages.

ยงExamples

use std::{collections::HashMap, sync::Arc};
use ailloli_ui_core::math::Scale;
use ailloli_ui_render_wgpu::{passes::push_text_scaled, text::TextAtlas};
use ailloli_ui_runtime::DrawText;
fn build(atlas: &mut TextAtlas, device: &wgpu::Device, queue: &wgpu::Queue,
    layout: &wgpu::BindGroupLayout, text: &DrawText) {
    let mut vertices = Vec::new(); let mut draws = Vec::new();
    let faces: HashMap<u64, Arc<[u8]>> = HashMap::new(); atlas.start_frame();
    push_text_scaled(&mut vertices, &mut draws, [100.0, 50.0], Scale::new(1.0), atlas, device, queue, layout, &faces, text);
    atlas.finish_frame();
}