use crate::{error::PdfResult, filter::decode_stream, stream::Stream, Resolve};
use self::lexer::PostScriptFunctionLexer;
mod lexer;
#[derive(Debug)]
pub struct PostScriptCalculatorFunction {
tokens: PostScriptFunctionLexer,
}
impl PostScriptCalculatorFunction {
pub fn from_stream(stream: Stream, resolver: &mut dyn Resolve) -> PdfResult<Self> {
let buffer = decode_stream(&stream.stream, &stream.dict, resolver)?;
Ok(Self {
tokens: PostScriptFunctionLexer::new(buffer.into_owned().into_boxed_slice()),
})
}
}