Skip to main content

LiquidityHeatmap

Struct LiquidityHeatmap 

Source
pub struct LiquidityHeatmap {
    pub config: LiquidityHeatmapConfig,
    /* private fields */
}
Expand description

A liquidity heatmap backed by bounded texture tiles. Retain it between frames.

Each column uses logarithmic contrast against its largest resting size unless Self::config sets a shared full-intensity size. A cell whose largest recorded order reaches a size tier of the OrderBookView takes that tier’s colour over its shading. Empty prices and missing time periods stay transparent. Old columns release their atlas slots; new or changed columns upload only their own texels. Changed colours, tiers or appearance upload every held column once. No texture side exceeds the backend’s limit.

Fields§

§config: LiquidityHeatmapConfig

Cell brightness and size range, applied on the next render. Unchanged effective settings upload nothing; changed settings redraw every held column once.

Implementations§

Source§

impl LiquidityHeatmap

Source

pub fn render( &mut self, painter: &Painter, mapping: &ChartMapping, history: &DepthHistory, step: f64, time_to_x: impl Fn(DateTime<Utc>) -> Option<f32>, view: &OrderBookView, colors: [Color32; 2], )

Draws the history using the pane’s price mapping and the host’s time-to-x conversion. step is the instrument tick size times the history’s ticks per row. view gives the size tiers and their colours, as for the book profile, from the painter’s active theme when the view sets none; its filter and profile do not apply, since the history sampled the orders of its own DepthHistoryConfig::orders. Buy and sell colours follow the painter’s host; call with the same colours as the price series.

Trait Implementations§

Source§

impl Default for LiquidityHeatmap

Source§

fn default() -> LiquidityHeatmap

Returns the “default value” for a type. 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
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> MaybeSend for T
where T: Send + Sync + ?Sized,

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

§

impl<T, S> SimdFrom<T, S> for T
where S: Simd,

§

fn simd_from(_simd: S, value: T) -> T

§

impl<F, T, S> SimdInto<T, S> for F
where T: SimdFrom<F, S>, S: Simd,

§

fn simd_into(self, simd: S) -> T

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.