use bevy_asset::AssetId;
use bevy_image::prelude::*;
use bevy_math::{IVec2, Vec2};
use bevy_reflect::Reflect;
#[derive(Debug, Clone, Reflect)]
#[reflect(Clone)]
pub struct PositionedGlyph {
pub position: Vec2,
pub size: Vec2,
pub atlas_info: GlyphAtlasInfo,
pub span_index: usize,
pub line_index: usize,
pub byte_index: usize,
pub byte_length: usize,
}
#[derive(Debug, Clone, Reflect)]
#[reflect(Clone)]
pub struct GlyphAtlasInfo {
pub texture: AssetId<Image>,
pub texture_atlas: AssetId<TextureAtlasLayout>,
pub location: GlyphAtlasLocation,
}
#[derive(Debug, Clone, Copy, Reflect)]
#[reflect(Clone)]
pub struct GlyphAtlasLocation {
pub glyph_index: usize,
pub offset: IVec2,
}