Skip to main content

ChartState

Struct ChartState 

Source
pub struct ChartState { /* private fields */ }
Expand description

Backend chart state – owns bar data, time-scale coordinate system, price auto-scaling logic, and zoom history.

This is the pure-logic layer with no UI or rendering dependencies. The UI layer reads from ChartState to determine what to draw and writes back interaction results (scroll, zoom, data updates).

§Example

use egui_charts::model::{BarData, ChartState};

let data = BarData::new();
let state = ChartState::new(data);
assert!(state.visible_data().is_empty());

Implementations§

Source§

impl ChartState

Source

pub fn new(data: BarData) -> Self

Create new chart state with data

Source

pub fn data(&self) -> &BarData

Get reference to bar data

Source

pub fn time_scale_mut(&mut self) -> &mut TimeScale

Get mutable reference to time scale

Source

pub fn time_scale(&self) -> &TimeScale

Get reference to time scale

Source

pub fn set_data(&mut self, data: BarData)

Update data (also updates bar count in time scale)

Source

pub fn visible_data(&self) -> &[Bar]

Get visible data based on current time scale

Source

pub fn visible_range(&self) -> (usize, usize)

Get visible data range indices

Source

pub fn set_price_auto_scale(&mut self, enabled: bool)

Enable/disable price auto-scaling

Source

pub fn set_price_range(&mut self, min: f64, max: f64)

Set manual price range

Source

pub fn price_range(&self) -> (f64, f64)

Get price range (auto-calculated or manual)

Source

pub fn is_price_auto_scale(&self) -> bool

Check if price auto-scaling is enabled

Source

pub fn push_zoom_state(&mut self)

Save current zoom state to history

Source

pub fn pop_zoom_state(&mut self) -> bool

Restore previous zoom state (zoom out button)

Source

pub fn clear_zoom_history(&mut self)

Clear zoom history

Source

pub fn has_zoom_history(&self) -> bool

Check if there are zoom states to restore

Trait Implementations§

Source§

impl Clone for ChartState

Source§

fn clone(&self) -> ChartState

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for ChartState

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.
Source§

impl<T> SerializableAny for T
where T: 'static + Any + Clone + for<'a> Send + Sync,