pub struct RendererParams<'a> {Show 44 fields
pub window: Arc<Window>,
pub vsync_mode: VsyncMode,
pub power_preference: PowerPreference,
pub window_opacity: f32,
pub font_family: Option<&'a str>,
pub font_family_bold: Option<&'a str>,
pub font_family_italic: Option<&'a str>,
pub font_family_bold_italic: Option<&'a str>,
pub font_ranges: &'a [FontRange],
pub font_size: f32,
pub enable_text_shaping: bool,
pub enable_ligatures: bool,
pub enable_kerning: bool,
pub font_antialias: bool,
pub font_hinting: bool,
pub font_thin_strokes: ThinStrokesMode,
pub minimum_contrast: f32,
pub window_padding: f32,
pub line_spacing: f32,
pub char_spacing: f32,
pub scrollbar_position: &'a str,
pub scrollbar_width: f32,
pub scrollbar_thumb_color: [f32; 4],
pub scrollbar_track_color: [f32; 4],
pub background_color: [u8; 3],
pub background_image_path: Option<&'a str>,
pub background_image_enabled: bool,
pub background_image_mode: BackgroundImageMode,
pub background_image_opacity: f32,
pub custom_shader_path: Option<&'a str>,
pub custom_shader_enabled: bool,
pub custom_shader_animation: bool,
pub custom_shader_animation_speed: f32,
pub custom_shader_full_content: bool,
pub custom_shader_brightness: f32,
pub custom_shader_channel_paths: &'a [Option<PathBuf>; 4],
pub custom_shader_cubemap_path: Option<&'a Path>,
pub use_background_as_channel0: bool,
pub image_scaling_mode: ImageScalingMode,
pub image_preserve_aspect_ratio: bool,
pub cursor_shader_path: Option<&'a str>,
pub cursor_shader_enabled: bool,
pub cursor_shader_animation: bool,
pub cursor_shader_animation_speed: f32,
}Expand description
Bundles all parameters needed by super::Renderer::new().
Grouping the parameters into a struct eliminates the 46-argument function signature (audit finding H4) without changing any behaviour.
Fields§
§window: Arc<Window>The winit window that owns the wgpu surface.
vsync_mode: VsyncModeVsync presentation mode.
power_preference: PowerPreferenceGPU power preference (low-power vs high-performance).
window_opacity: f32Window opacity (0.0 fully transparent – 1.0 fully opaque).
font_family: Option<&'a str>Primary font family name (None = system default).
font_family_bold: Option<&'a str>Bold variant family override.
font_family_italic: Option<&'a str>Italic variant family override.
font_family_bold_italic: Option<&'a str>Bold-italic variant family override.
font_ranges: &'a [FontRange]Additional Unicode ranges and their fallback fonts.
font_size: f32Font size in points.
enable_text_shaping: boolEnable HarfBuzz text shaping.
enable_ligatures: boolEnable OpenType ligatures.
enable_kerning: boolEnable OpenType kerning.
font_antialias: boolEnable font anti-aliasing.
font_hinting: boolEnable font hinting.
font_thin_strokes: ThinStrokesModeThin-strokes rendering mode.
minimum_contrast: f32Minimum contrast ratio between foreground and background.
window_padding: f32Padding around the terminal content in logical pixels.
line_spacing: f32Line height multiplier.
char_spacing: f32Character width multiplier.
scrollbar_position: &'a strScrollbar position string (“left”, “right”, “hidden”).
scrollbar_width: f32Scrollbar width in logical pixels.
scrollbar_thumb_color: [f32; 4]Scrollbar thumb color [R, G, B, A].
scrollbar_track_color: [f32; 4]Scrollbar track color [R, G, B, A].
background_color: [u8; 3]Theme background color [R, G, B].
background_image_path: Option<&'a str>Optional background image file path.
background_image_enabled: boolWhether the background image feature is enabled.
background_image_mode: BackgroundImageModeHow the background image is displayed (stretch, tile, etc.).
background_image_opacity: f32Background image opacity (0.0 – 1.0).
custom_shader_path: Option<&'a str>Name / path of the custom background shader.
custom_shader_enabled: boolWhether the custom shader is enabled.
custom_shader_animation: boolWhether the custom shader is animated.
custom_shader_animation_speed: f32Animation speed multiplier for the custom shader.
custom_shader_full_content: boolWhether the shader renders over the full surface (vs. terminal area).
custom_shader_brightness: f32Brightness multiplier applied to the shader output.
custom_shader_channel_paths: &'a [Option<PathBuf>; 4]Channel texture paths (iChannel0..3).
custom_shader_cubemap_path: Option<&'a Path>Cubemap texture path prefix (iCubemap).
use_background_as_channel0: boolUse the background image as iChannel0.
image_scaling_mode: ImageScalingModeScaling filter for inline images (nearest vs linear).
image_preserve_aspect_ratio: boolWhether to preserve aspect ratio when scaling inline images.
cursor_shader_path: Option<&'a str>Name / path of the cursor shader.
cursor_shader_enabled: boolWhether the cursor shader is enabled.
cursor_shader_animation: boolWhether the cursor shader is animated.
cursor_shader_animation_speed: f32Animation speed multiplier for the cursor shader.
Auto Trait Implementations§
impl<'a> Freeze for RendererParams<'a>
impl<'a> !RefUnwindSafe for RendererParams<'a>
impl<'a> Send for RendererParams<'a>
impl<'a> Sync for RendererParams<'a>
impl<'a> Unpin for RendererParams<'a>
impl<'a> UnsafeUnpin for RendererParams<'a>
impl<'a> !UnwindSafe for RendererParams<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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