mirror of https://github.com/wayvr-org/wayvr.git
fix use_bg_color label anims
This commit is contained in:
parent
c4655b7b9a
commit
e0ab4be8e3
|
|
@ -130,7 +130,7 @@
|
|||
<Button macro="button_style" id="overlay_${idx}" tooltip_str="${name}" _context_name="${name}" _press_left="::ContextMenuOpen menu_screen" _press_right="::OverlayToggle ${name}">
|
||||
<sprite width="38" height="38" color="on_background_variant" src_builtin="edit/screen.svg" />
|
||||
<div position="absolute" margin_top="-7" margin_left="-1">
|
||||
<label text="${display}" size="~text_size" color="on_background_variant(opacity-0.2)" weight="bold" use_bg_color="1" />
|
||||
<label text="${display}" size="~text_size" color="primary" weight="bold" use_bg_color="1" />
|
||||
</div>
|
||||
</Button>
|
||||
</template>
|
||||
|
|
@ -163,7 +163,7 @@
|
|||
<Button macro="button_style" id="overlay_${idx}" tooltip_str="${name}" _context_name="${name}" _press_left="::ContextMenuOpen menu_mirror" _press_right="::OverlayToggle ${name}">
|
||||
<sprite width="38" height="38" color="on_background_variant" src_builtin="edit/mirror.svg" />
|
||||
<div position="absolute" margin_top="5" margin_left="13">
|
||||
<label text="${display}" size="20" color="on_background(opacity-0.2)" weight="bold" use_bg_color="1" />
|
||||
<label text="${display}" size="20" color="primary" weight="bold" use_bg_color="1" />
|
||||
</div>
|
||||
</Button>
|
||||
</template>
|
||||
|
|
@ -192,7 +192,7 @@
|
|||
<Button macro="button_style" id="set_${idx}" _press="::SetSwitch ${idx}" tooltip="WATCH.SWITCH_TO_SET" tooltip_side="bottom">
|
||||
<sprite width="38" height="38" color="on_background_variant" src_builtin="watch/set2.svg" />
|
||||
<div position="absolute" margin_top="10" margin_left="-7">
|
||||
<label text="${display}" size="20" color="on_background(opacity-0.2)" weight="bold" use_bg_color="1" />
|
||||
<label text="${display}" size="20" color="primary" weight="bold" use_bg_color="1" />
|
||||
</div>
|
||||
</Button>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@
|
|||
<Button macro="button_style" id="overlay_${idx}" tooltip_str="${name}" _press="::OverlayToggle ${name}">
|
||||
<sprite width="38" height="38" color="on_background" src_builtin="edit/screen.svg" />
|
||||
<div position="absolute" margin_top="-7" margin_left="-1">
|
||||
<label text="${display}" size="18" color="on_background(opacity-0.2)" weight="bold" use_bg_color="1" />
|
||||
<label text="${display}" size="18" color="primary" weight="bold" use_bg_color="1" />
|
||||
</div>
|
||||
</Button>
|
||||
</template>
|
||||
|
|
@ -51,7 +51,7 @@
|
|||
<Button macro="button_style" id="overlay_${idx}" tooltip_str="${name}" _press="::OverlayToggle ${name}">
|
||||
<sprite width="38" height="38" color="on_background" src_builtin="edit/mirror.svg" />
|
||||
<div position="absolute" margin_top="5" margin_left="13">
|
||||
<label text="${display}" size="20" color="on_background" weight="bold" use_bg_color="1" />
|
||||
<label text="${display}" size="20" color="primary" weight="bold" use_bg_color="1" />
|
||||
</div>
|
||||
</Button>
|
||||
</template>
|
||||
|
|
@ -65,7 +65,7 @@
|
|||
<Button macro="button_style" id="set_${idx}" _press="::SetToggle ${idx}" tooltip="WATCH.SWITCH_TO_SET" tooltip_side="top">
|
||||
<sprite width="38" height="38" color="on_background" src_builtin="watch/set2.svg" />
|
||||
<div position="absolute" margin_top="9">
|
||||
<label text="${display}" size="24" color="#00050F" weight="bold" use_bg_color="1" />
|
||||
<label text="${display}" size="24" color="primary" weight="bold" use_bg_color="1" />
|
||||
</div>
|
||||
</Button>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -166,7 +166,12 @@ impl ComponentTrait for ComponentButton {
|
|||
state: &data.layout.state,
|
||||
alterables: &mut data.layout.alterables,
|
||||
};
|
||||
widget.set_color(common, fg_color, true);
|
||||
let label_color = if widget.uses_bg_color() {
|
||||
state.colors.color
|
||||
} else {
|
||||
fg_color
|
||||
};
|
||||
widget.set_color(common, label_color, true);
|
||||
}
|
||||
state.id_label = child;
|
||||
}
|
||||
|
|
@ -218,7 +223,8 @@ impl ComponentButton {
|
|||
|
||||
if let Some(fg_color) = color.fg_color() {
|
||||
if let Some(mut label) = common.state.widgets.get_as::<WidgetLabel>(state.id_label) {
|
||||
label.set_color(common, fg_color, true);
|
||||
let label_color = if label.uses_bg_color() { color } else { fg_color };
|
||||
label.set_color(common, label_color, true);
|
||||
}
|
||||
if let Some(mut sprite) = common.state.widgets.get_as::<WidgetSprite>(state.id_sprite) {
|
||||
sprite.set_color(common, fg_color);
|
||||
|
|
@ -279,10 +285,10 @@ impl ComponentButton {
|
|||
};
|
||||
|
||||
{
|
||||
let bgcolor = colors.color.lerp(&common.globals().palette, alt_color, mult);
|
||||
let bg_color = colors.color.lerp(&common.globals().palette, alt_color, mult);
|
||||
|
||||
rect.params.color = bgcolor;
|
||||
rect.params.color2 = get_color2(&bgcolor, gradient_intensity);
|
||||
rect.params.color = bg_color;
|
||||
rect.params.color2 = get_color2(&bg_color, gradient_intensity);
|
||||
rect.params.border_color = colors
|
||||
.border_color
|
||||
.lerp(&common.globals().palette, alt_border_color, mult);
|
||||
|
|
@ -292,7 +298,8 @@ impl ComponentButton {
|
|||
{
|
||||
let fg_color = fg_color0.lerp(&common.globals().palette, &fg_color1, mult);
|
||||
if let Some(mut label) = common.state.widgets.get_as::<WidgetLabel>(state.id_label) {
|
||||
label.set_color(common, fg_color, true);
|
||||
let label_color = if label.uses_bg_color() { bg_color } else { fg_color };
|
||||
label.set_color(common, label_color, true);
|
||||
}
|
||||
if let Some(mut sprite) = common.state.widgets.get_as::<WidgetSprite>(state.id_sprite) {
|
||||
sprite.set_color(common, fg_color);
|
||||
|
|
@ -328,12 +335,15 @@ fn anim_hover(
|
|||
(colors.border_color, colors.color)
|
||||
};
|
||||
|
||||
let bg_color = init_color.lerp(&common.globals().palette, &colors.hover_color, mult);
|
||||
|
||||
if let Some(fg_color0) = init_color.fg_color()
|
||||
&& let Some(fg_color1) = colors.hover_color.fg_color()
|
||||
{
|
||||
let fg_color = fg_color0.lerp(&common.globals().palette, &fg_color1, mult);
|
||||
if let Some(mut label) = common.state.widgets.get_as::<WidgetLabel>(label) {
|
||||
label.set_color(common, fg_color, true);
|
||||
let label_color = if label.uses_bg_color() { bg_color } else { fg_color };
|
||||
label.set_color(common, label_color, true);
|
||||
}
|
||||
if let Some(mut sprite) = common.state.widgets.get_as::<WidgetSprite>(sprite) {
|
||||
sprite.set_color(common, fg_color);
|
||||
|
|
@ -342,8 +352,6 @@ fn anim_hover(
|
|||
|
||||
let globals = common.globals();
|
||||
|
||||
let bgcolor = init_color.lerp(&globals.palette, &colors.hover_color, mult);
|
||||
|
||||
let gradient_intensity = common.state.theme.gradient_intensity;
|
||||
|
||||
//let t = Mat4::from_scale(Vec3::splat(1.0 + pos * 0.5)) * Mat4::from_rotation_z(pos * 1.0);
|
||||
|
|
@ -351,8 +359,8 @@ fn anim_hover(
|
|||
let t = Mat4::from_scale(Vec3::splat(1.0 + pos * 0.05));
|
||||
widget_data.transform = centered_matrix(widget_boundary.size, &t);
|
||||
|
||||
rect.params.color = bgcolor;
|
||||
rect.params.color2 = get_color2(&bgcolor, gradient_intensity);
|
||||
rect.params.color = bg_color;
|
||||
rect.params.color2 = get_color2(&bg_color, gradient_intensity);
|
||||
|
||||
rect.params.border_color = init_border_color.lerp(&globals.palette, &colors.hover_border_color, mult);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -120,18 +120,16 @@ impl WidgetLabel {
|
|||
}
|
||||
|
||||
pub fn set_color(&mut self, common: &mut CallbackDataCommon, color: WguiColor, apply_to_existing_text: bool) {
|
||||
if self.params.use_bg_color {
|
||||
if let Some(bg_color) = color.bg_color() {
|
||||
self.params.style.color = Some(bg_color);
|
||||
}
|
||||
} else {
|
||||
self.params.style.color = Some(color);
|
||||
}
|
||||
self.params.style.color = Some(color);
|
||||
if apply_to_existing_text {
|
||||
self.update_attrs(&common.globals().palette);
|
||||
common.mark_widget_dirty(self.id);
|
||||
}
|
||||
}
|
||||
|
||||
pub fn uses_bg_color(&self) -> bool {
|
||||
self.params.use_bg_color
|
||||
}
|
||||
}
|
||||
|
||||
impl WidgetObj for WidgetLabel {
|
||||
|
|
|
|||
Loading…
Reference in New Issue