sandbox-quant 1.0.8

Exchange-truth trading core for Binance Spot and Futures
Documentation
use std::fmt::{Display, Formatter};

use crate::charting::scene::{ChartScene, RenderRequest, RenderedFrame};

#[derive(Debug, Clone, PartialEq, Eq)]
pub struct RenderError {
    message: String,
}

impl RenderError {
    pub fn new(message: impl Into<String>) -> Self {
        Self {
            message: message.into(),
        }
    }
}

impl Display for RenderError {
    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
        f.write_str(&self.message)
    }
}

impl std::error::Error for RenderError {}

pub trait ChartRenderer {
    fn render(
        &self,
        scene: &ChartScene,
        request: &RenderRequest,
    ) -> Result<RenderedFrame, RenderError>;
}