Skip to main content

beamterm_core/gl/
mod.rs

1pub(crate) mod atlas;
2mod buffer;
3pub(crate) mod cell_query;
4pub(crate) mod context;
5mod dirty_regions;
6pub(crate) mod dynamic_atlas;
7pub(crate) mod glyph_cache;
8pub(crate) mod glyph_rasterizer;
9#[cfg(feature = "native-dynamic-atlas")]
10mod native_dynamic_atlas;
11mod program;
12pub(crate) mod renderer;
13pub(crate) mod selection;
14pub(crate) mod static_atlas;
15pub(crate) mod terminal_grid;
16pub(crate) mod texture;
17mod ubo;
18
19// Primary API re-exports
20// Re-exports for sibling crates (beamterm-renderer)
21pub use atlas::{Atlas, FontAtlas, GlyphSlot, GlyphTracker, sealed};
22// Crate-internal re-exports
23use buffer::*;
24pub use cell_query::{CellIterator, CellQuery, SelectionMode, select};
25pub use context::GlState;
26/// internal type; not covered by semver guarantees.
27/// Use [`Terminal::builder()`](beamterm_renderer::Terminal::builder) or the
28/// [`NativeDynamicAtlas`] type alias instead.
29#[doc(hidden)]
30pub use dynamic_atlas::DynamicFontAtlas;
31/// Internal trait — not covered by semver guarantees.
32/// Use pre-built implementations ([`NativeGlyphRasterizer`] or `CanvasRasterizer`) instead.
33#[doc(hidden)]
34pub use glyph_rasterizer::GlyphRasterizer;
35#[cfg(feature = "native-dynamic-atlas")]
36pub use native_dynamic_atlas::{NativeDynamicAtlas, NativeGlyphRasterizer};
37pub(crate) use program::*;
38pub use renderer::{Drawable, RenderContext};
39pub use selection::SelectionTracker;
40pub use static_atlas::StaticFontAtlas;
41pub use terminal_grid::{CellData, CellDynamic, TerminalGrid};
42/// internal type; not covered by semver guarantees.
43#[doc(hidden)]
44pub use texture::RasterizedGlyph;