Skip to main content

VirtualViewCallbackInfo

Struct VirtualViewCallbackInfo 

Source
pub struct VirtualViewCallbackInfo {
    pub reason: VirtualViewCallbackReason,
    pub system_fonts: *const FcFontCache,
    pub image_cache: *const ImageCache,
    pub window_theme: WindowTheme,
    pub bounds: HidpiAdjustedBounds,
    pub scroll_size: LogicalSize,
    pub scroll_offset: LogicalPosition,
    pub virtual_scroll_size: LogicalSize,
    pub virtual_scroll_offset: LogicalPosition,
    /* private fields */
}

Fields§

§reason: VirtualViewCallbackReason§system_fonts: *const FcFontCache§image_cache: *const ImageCache§window_theme: WindowTheme§bounds: HidpiAdjustedBounds§scroll_size: LogicalSize§scroll_offset: LogicalPosition§virtual_scroll_size: LogicalSize§virtual_scroll_offset: LogicalPosition

Implementations§

Source§

impl VirtualViewCallbackInfo

Source

pub const fn new<'a>( reason: VirtualViewCallbackReason, system_fonts: &'a FcFontCache, image_cache: &'a ImageCache, window_theme: WindowTheme, bounds: HidpiAdjustedBounds, scroll_size: LogicalSize, scroll_offset: LogicalPosition, virtual_scroll_size: LogicalSize, virtual_scroll_offset: LogicalPosition, ) -> Self

Source

pub const fn set_callable_ptr(&mut self, callable: &OptionRefAny)

Set the callable pointer for FFI language bindings

Source

pub fn set_measure_dom_fn(&mut self, f: MeasureDomFn, ctx: *mut c_void)

Inject the headless-measure trampoline (called by the layout crate right before the user callback is invoked).

Source

pub fn measure_dom(&self, dom: Dom, available: LogicalSize) -> LogicalSize

Measure a DOM headlessly: style + lay it out against available constraints using the host window’s fonts and system style, without touching the live layout. Returns the union of all node bounds.

Use a very tall available.height (e.g. 1_000_000.0) to obtain a DOM’s natural height at a fixed width - the building block for virtual-scroll sizing: measure one (or a few) item template(s), then virtual_scroll_size.height = item_height * item_count and render only the visible window of items. Each call is a full cold layout pass, so cache measured sizes per item template.

Returns LogicalSize::zero() when no measure hook was injected.

Source

pub fn get_ctx(&self) -> OptionRefAny

Get the callable for FFI language bindings (Python, etc.)

Source

pub const fn get_bounds(&self) -> HidpiAdjustedBounds

Trait Implementations§

Source§

impl Clone for VirtualViewCallbackInfo

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for VirtualViewCallbackInfo

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.