pub struct SurferTheme {Show 37 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 waveform_opacity: f32,
pub wide_opacity: f32,
pub colors: HashMap<String, Color32>,
pub highlight_background: Color32,
pub 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>,
}
Fields§
§foreground: Color32
Color used for text across the UI
border_color: Color32
Color of borders between UI elements
alt_text_color: Color32
Color used for text across the markers
canvas_colors: ThemeColorTriple
Colors used for the background and text of the wave view
primary_ui_color: ThemeColorPair
Colors used for most UI elements not on the variable canvas
secondary_ui_color: ThemeColorPair
Colors used for the variable and value list, as well as secondary elements like text fields
selected_elements_colors: ThemeColorPair
Color used for selected ui elements such as the currently selected hierarchy
accent_info: ThemeColorPair
§accent_warn: ThemeColorPair
§accent_error: ThemeColorPair
§cursor: SurferLineStyle
Line style for cursor
gesture: SurferLineStyle
Line style for mouse gesture lines
measure: SurferLineStyle
Line style for measurement lines
clock_highlight_line: SurferLineStyle
Line style for clock highlight lines
clock_highlight_cycle: Color32
§clock_rising_marker: bool
Draw arrows on rising clock edges
variable_default: Color32
Default variable color
variable_highimp: Color32
Color used for high-impedance variables
variable_undef: Color32
Color used for undefined variables
variable_dontcare: Color32
Color used for don’t-care variables
variable_weak: Color32
Color used for weak variables
variable_parameter: Color32
Color used for constant variables (parameters)
transaction_default: Color32
Default transaction color
relation_arrow: SurferRelationArrow
§waveform_opacity: f32
Opacity with which variable backgrounds are drawn. 0 is fully transparent and 1 is fully opaque.
wide_opacity: f32
Opacity of variable backgrounds for wide signals (signals with more than one bit)
colors: HashMap<String, Color32>
§highlight_background: Color32
§linewidth: f32
Variable line width
vector_transition_width: f32
Vector transition max width
alt_frequency: usize
Number of lines using standard background before changing to alternate background and so on, set to zero to disable
viewport_separator: SurferLineStyle
Viewport separator line
drag_hint_color: Color32
§drag_hint_width: f32
§drag_threshold: f32
§ticks: SurferTicks
Tick information
theme_names: Vec<String>
List of theme names
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