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 UnsafeUnpin 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