maplibre/legacy/
glyph_atlas.rs1use std::collections::BTreeMap;
4
5use crate::{
6 euclid::Rect,
7 legacy::{
8 font_stack::FontStackHash,
9 glyph::{GlyphID, GlyphMap, GlyphMetrics},
10 TileSpace,
11 },
12};
13
14pub struct AlphaImage;
17
18#[derive(Clone, Copy, Default)]
20pub struct GlyphPosition {
21 pub rect: Rect<u16, TileSpace>,
22 pub metrics: GlyphMetrics,
23}
24
25pub type GlyphPositionMap = BTreeMap<GlyphID, GlyphPosition>;
27pub type GlyphPositions = BTreeMap<FontStackHash, GlyphPositionMap>;
29
30pub struct GlyphAtlas {
32 pub image: AlphaImage,
33 pub positions: GlyphPositions,
34}
35
36pub fn make_glyph_atlas(glyphs: &GlyphMap) -> GlyphAtlas {
38 todo!() }