pub(super) mod background;
pub(super) mod cursor;
pub(super) mod shared;
use crate::cell_renderer::CellRenderer;
use crate::custom_shader_renderer::CustomShaderRenderer;
use par_term_config::{ShaderBackgroundBlendMode, ShaderUniformValue};
use std::collections::BTreeMap;
pub struct CustomShaderInitParams<'a> {
pub size_width: u32,
pub size_height: u32,
pub window_padding: f32,
pub path: Option<&'a str>,
pub enabled: bool,
pub animation: bool,
pub animation_speed: f32,
pub window_opacity: f32,
pub full_content: bool,
pub brightness: f32,
pub channel_paths: &'a [Option<std::path::PathBuf>; 4],
pub cubemap_path: Option<&'a std::path::Path>,
pub custom_uniforms: &'a BTreeMap<String, ShaderUniformValue>,
pub use_background_as_channel0: bool,
pub background_channel0_blend_mode: ShaderBackgroundBlendMode,
pub auto_dim_under_text: bool,
pub auto_dim_strength: f32,
}
pub struct CursorShaderInitParams<'a> {
pub size_width: u32,
pub size_height: u32,
pub window_padding: f32,
pub path: Option<&'a str>,
pub enabled: bool,
pub animation: bool,
pub animation_speed: f32,
pub window_opacity: f32,
}
pub struct CustomShaderEnableParams<'a> {
pub enabled: bool,
pub shader_path: Option<&'a str>,
pub window_opacity: f32,
pub animation_enabled: bool,
pub animation_speed: f32,
pub full_content: bool,
pub brightness: f32,
pub channel_paths: &'a [Option<std::path::PathBuf>; 4],
pub cubemap_path: Option<&'a std::path::Path>,
pub custom_uniforms: &'a BTreeMap<String, ShaderUniformValue>,
pub background_channel0_blend_mode: ShaderBackgroundBlendMode,
pub auto_dim_under_text: bool,
pub auto_dim_strength: f32,
}
pub(super) fn init_custom_shader(
cell_renderer: &CellRenderer,
params: CustomShaderInitParams<'_>,
) -> (Option<CustomShaderRenderer>, Option<String>) {
background::init_custom_shader(cell_renderer, params)
}
pub(super) fn init_cursor_shader(
cell_renderer: &CellRenderer,
params: CursorShaderInitParams<'_>,
) -> (Option<CustomShaderRenderer>, Option<String>) {
cursor::init_cursor_shader(cell_renderer, params)
}