/// <summary> /// Construct texture id for button background, based on prefix, button state and whether /// the button is active. /// </summary> /// <returns>Atlas sprite id.</returns> internal string GetBackgroundTextureId(ControlEnabledState enabledState, ControlHoveredState hoveredState, ControlActiveState activeState) { string chosenPrefix = string.IsNullOrEmpty(BackgroundPrefix) ? Prefix : BackgroundPrefix; string ret = chosenPrefix + "-bg"; if (enabledState == ControlEnabledState.Disabled) { return(BackgroundDisabled ? ret + "-disabled" : ret + "-normal"); } if (activeState == ControlActiveState.Active) { return(BackgroundActive ? ret + "-active" : ret + "-normal"); } if (hoveredState == ControlHoveredState.Hovered) { return(BackgroundHovered ? ret + "-hovered" : ret + "-normal"); } return(ret + "-normal"); }
internal void UpdateButtonImageAndTooltip() { if (this.Skin == null) { // No skin, no textures, nothing to be updated return; } ControlActiveState activeState = CanActivate() && IsActive() ? ControlActiveState.Active : ControlActiveState.Normal; ControlEnabledState enabledState = this.enabled ? ControlEnabledState.Enabled : ControlEnabledState.Disabled; m_BackgroundSprites.m_Normal = m_BackgroundSprites.m_Disabled = m_BackgroundSprites.m_Focused = Skin.GetBackgroundTextureId( enabledState, ControlHoveredState.Normal, activeState); m_BackgroundSprites.m_Hovered = Skin.GetBackgroundTextureId( enabledState, ControlHoveredState.Hovered, activeState); m_PressedBgSprite = Skin.GetBackgroundTextureId( enabledState, ControlHoveredState.Normal, ControlActiveState.Active); m_ForegroundSprites.m_Normal = m_ForegroundSprites.m_Disabled = m_ForegroundSprites.m_Focused = Skin.GetForegroundTextureId( enabledState, ControlHoveredState.Normal, activeState); m_ForegroundSprites.m_Hovered = m_PressedFgSprite = Skin.GetForegroundTextureId( enabledState, ControlHoveredState.Hovered, activeState); // Update localized tooltip with shortcut key if available string shortcutText = GetShortcutTooltip(); tooltip = GetTooltip() + shortcutText; this.isVisible = IsVisible(); this.Invalidate(); }
internal void UpdateButtonImage() { if (this.Skin == null) { // No skin, no textures, nothing to be updated return; } ControlActiveState activeState = CanActivate() && IsActive() ? ControlActiveState.Active : ControlActiveState.Normal; ControlEnabledState enabledState = this.isEnabled ? ControlEnabledState.Enabled : ControlEnabledState.Disabled; m_BackgroundSprites.m_Normal = m_BackgroundSprites.m_Disabled = m_BackgroundSprites.m_Focused = Skin.GetBackgroundTextureId( enabledState: enabledState, hoveredState: ControlHoveredState.Normal, activeState: activeState); m_BackgroundSprites.m_Hovered = Skin.GetBackgroundTextureId( enabledState: enabledState, hoveredState: ControlHoveredState.Hovered, activeState: activeState); m_PressedBgSprite = Skin.GetBackgroundTextureId( enabledState: enabledState, hoveredState: ControlHoveredState.Normal, activeState: ControlActiveState.Active); m_ForegroundSprites.m_Normal = m_ForegroundSprites.m_Disabled = m_ForegroundSprites.m_Focused = Skin.GetForegroundTextureId( enabledState: enabledState, hoveredState: ControlHoveredState.Normal, activeState: activeState); m_ForegroundSprites.m_Hovered = m_PressedFgSprite = Skin.GetForegroundTextureId( enabledState: enabledState, hoveredState: ControlHoveredState.Hovered, activeState: activeState); }
/// <summary> /// Construct texture id for button foreground, based on prefix, what the button does, /// and whether it is active. /// </summary> /// <returns>Atlas sprite id.</returns> internal string GetForegroundTextureId(ControlEnabledState enabledState, ControlHoveredState hoveredState, ControlActiveState activeState) { string ret = Prefix + "-fg"; if (enabledState == ControlEnabledState.Disabled) { return(ForegroundDisabled ? ret + "-disabled" : ret + "-normal"); } if (activeState == ControlActiveState.Active) { return(ForegroundActive ? ret + "-active" : ret + "-normal"); } if (hoveredState == ControlHoveredState.Hovered) { return(ForegroundHovered ? ret + "-hovered" : ret + "-normal"); } return(ret + "-normal"); }