pub fn code_scrollbar_geometries(
viewport: EditorViewport,
content_size: Size,
config: EditorScrollbarConfig,
) -> Vec<ScrollbarGeometry>Expand description
Resolves the code editor’s visible scrollbar geometry.
The returned rectangles are the single source of truth used by adapters for paint and pointer interaction. Horizontal geometry is omitted while wrapping is enabled, and either axis is omitted when it has no usable overflow.
§Examples
use ailloli_ui_core::{Rect, Size, ScrollbarAxis};
use ailloli_ui_editor::{code_scrollbar_geometries, CodeEditorConfig, EditorViewport};
use ailloli_ui_text::TextEditState;
let config = CodeEditorConfig::default();
let viewport = EditorViewport::with_gutter(
Rect::new(0.0, 0.0, 240.0, 120.0),
config.editor,
&TextEditState::new(),
Some(config.gutter),
);
let bars = code_scrollbar_geometries(viewport, Size::new(600.0, 400.0), config.scrollbars);
assert!(bars.iter().any(|bar| bar.axis == ScrollbarAxis::Horizontal));
assert!(bars.iter().any(|bar| bar.axis == ScrollbarAxis::Vertical));