use beamterm_data::{FontStyle, LineDecoration};
use super::texture::RasterizedGlyph;
use crate::Error;
#[doc(hidden)]
pub trait GlyphRasterizer {
fn rasterize_batch(
&mut self,
glyphs: &[(&str, FontStyle)],
) -> Result<Vec<RasterizedGlyph>, Error>;
fn max_batch_size(&self) -> usize;
fn cell_size(&self) -> beamterm_data::CellSize;
fn is_double_width(&mut self, grapheme: &str) -> bool;
fn underline(&self) -> LineDecoration;
fn strikethrough(&self) -> LineDecoration;
fn update_font_size(&mut self, font_size: f32) -> Result<(), Error>;
}