mirror of
https://github.com/emilk/egui.git
synced 2026-08-30 13:20:05 -04:00
* Refactor text layout: don't need &Fonts in all functions * Replace indexing in Fonts with member function * Wrap Fonts in a Mutex * Remove mutex for Font::glyph_info_cache * Remove RwLock around Font::characters * Put FontsImpl and GalleyCache behind the same Mutex * Round font sizes to whole pixels before deduplicating them * Make TextStyle !Copy * Implement user-named TextStyle:s * round font size earlier * Cache fonts based on family and size * Move TextStyle into egui and Style * Remove body_text_style * Query graphics about max texture size and use that as font atlas size * Recreate texture atlas when it is getting full
26 lines
664 B
Rust
26 lines
664 B
Rust
use wasm_bindgen::prelude::JsValue;
|
|
|
|
pub trait Painter {
|
|
/// Max size of one side of a texture.
|
|
fn max_texture_side(&self) -> usize;
|
|
|
|
fn set_texture(&mut self, tex_id: egui::TextureId, delta: &egui::epaint::ImageDelta);
|
|
|
|
fn free_texture(&mut self, tex_id: egui::TextureId);
|
|
|
|
fn debug_info(&self) -> String;
|
|
|
|
/// id of the canvas html element containing the rendering
|
|
fn canvas_id(&self) -> &str;
|
|
|
|
fn clear(&mut self, clear_color: egui::Rgba);
|
|
|
|
fn paint_meshes(
|
|
&mut self,
|
|
clipped_meshes: Vec<egui::ClippedMesh>,
|
|
pixels_per_point: f32,
|
|
) -> Result<(), JsValue>;
|
|
|
|
fn name(&self) -> &'static str;
|
|
}
|