Function code_scrollbar_geometries

Source
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));