pub struct SurferTheme {Show 41 fields
pub foreground: Color32,
pub border_color: Color32,
pub alt_text_color: Color32,
pub canvas_colors: ThemeColorTriple,
pub primary_ui_color: ThemeColorPair,
pub secondary_ui_color: ThemeColorPair,
pub selected_elements_colors: ThemeColorPair,
pub accent_info: ThemeColorPair,
pub accent_warn: ThemeColorPair,
pub accent_error: ThemeColorPair,
pub cursor: SurferLineStyle,
pub gesture: SurferLineStyle,
pub measure: SurferLineStyle,
pub clock_highlight_line: SurferLineStyle,
pub clock_highlight_cycle: Color32,
pub clock_rising_marker: bool,
pub variable_default: Color32,
pub variable_highimp: Color32,
pub variable_undef: Color32,
pub variable_dontcare: Color32,
pub variable_weak: Color32,
pub variable_parameter: Color32,
pub transaction_default: Color32,
pub relation_arrow: SurferRelationArrow,
pub variable_event: Color32,
pub waveform_opacity: f32,
pub wide_opacity: f32,
pub colors: HashMap<String, Color32>,
pub highlight_background: Color32,
pub linewidth: f32,
pub thick_linewidth: f32,
pub vector_transition_width: f32,
pub alt_frequency: usize,
pub viewport_separator: SurferLineStyle,
pub drag_hint_color: Color32,
pub drag_hint_width: f32,
pub drag_threshold: f32,
pub ticks: SurferTicks,
pub theme_names: Vec<String>,
pub scope_icons: ScopeIcons,
pub variable_icons: VariableIcons,
}Fields§
§foreground: Color32Color used for text across the UI
border_color: Color32Color of borders between UI elements
alt_text_color: Color32Color used for text across the markers
canvas_colors: ThemeColorTripleColors used for the background and text of the wave view
primary_ui_color: ThemeColorPairColors used for most UI elements not on the variable canvas
secondary_ui_color: ThemeColorPairColors used for the variable and value list, as well as secondary elements like text fields
selected_elements_colors: ThemeColorPairColor used for selected ui elements such as the currently selected hierarchy
accent_info: ThemeColorPair§accent_warn: ThemeColorPair§accent_error: ThemeColorPair§cursor: SurferLineStyleLine style for cursor
gesture: SurferLineStyleLine style for mouse gesture lines
measure: SurferLineStyleLine style for measurement lines
clock_highlight_line: SurferLineStyleLine style for clock highlight lines
clock_highlight_cycle: Color32§clock_rising_marker: boolDraw arrows on rising clock edges
variable_default: Color32Default variable color
variable_highimp: Color32Color used for high-impedance variables
variable_undef: Color32Color used for undefined variables
variable_dontcare: Color32Color used for don’t-care variables
variable_weak: Color32Color used for weak variables
variable_parameter: Color32Color used for constant variables (parameters)
transaction_default: Color32Default transaction color
relation_arrow: SurferRelationArrow§variable_event: Color32Color used for constant variables (parameters)
waveform_opacity: f32Opacity with which variable backgrounds are drawn. 0 is fully transparent and 1 is fully opaque.
wide_opacity: f32Opacity of variable backgrounds for wide signals (signals with more than one bit)
colors: HashMap<String, Color32>§highlight_background: Color32§linewidth: f32Variable line width
thick_linewidth: f32Variable line width for accented variables
vector_transition_width: f32Vector transition max width
alt_frequency: usizeNumber of lines using standard background before changing to alternate background and so on, set to zero to disable
viewport_separator: SurferLineStyleViewport separator line
drag_hint_color: Color32§drag_hint_width: f32§drag_threshold: f32§ticks: SurferTicksTick information
theme_names: Vec<String>List of theme names
scope_icons: ScopeIconsIcons for scope types in the hierarchy view
variable_icons: VariableIconsIcons for variable types in the hierarchy view
Implementations§
Source§impl SurferTheme
impl SurferTheme
pub fn get_color(&self, color: &str) -> Option<Color32>
pub fn get_best_text_color(&self, backgroundcolor: Color32) -> Color32
fn generate_defaults( theme_name: Option<&String>, ) -> (ConfigBuilder<DefaultState>, Vec<String>)
pub fn new(theme_name: Option<String>) -> Result<Self>
Trait Implementations§
Source§impl Debug for SurferTheme
impl Debug for SurferTheme
Source§impl<'de> Deserialize<'de> for SurferTheme
impl<'de> Deserialize<'de> for SurferTheme
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for SurferTheme
impl RefUnwindSafe for SurferTheme
impl Send for SurferTheme
impl Sync for SurferTheme
impl Unpin for SurferTheme
impl UnwindSafe for SurferTheme
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> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
self file descriptor. Read moreSource§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