public ReturnFromDrag ( Vector2 position ) : void | ||
position | Vector2 | /// The position. /// |
Résultat | void |
/// <summary> /// The handle priority icon. /// </summary> /// <param name="icon"> /// The icon. /// </param> /// <param name="mousePosition"> /// The mouse position. /// </param> /// <param name="priority"> /// The priority. /// </param> /// <param name="move"> /// The move. /// </param> /// <param name="menuItem"> /// The menu Item. /// </param> private void HandlePriorityIcon( PriorityIcon icon, Vector2 mousePosition, uint priority, float move, MenuItem menuItem) { var wasHovered = icon.Hovered; icon.Hovered = Utils.IsUnderRectangle( mousePosition, icon.Position.X, icon.Position.Y, icon.Size.X, icon.Size.Y); var onHover = !wasHovered && icon.Hovered; var onUnHover = wasHovered && !icon.Hovered; if (onHover) { icon.Hover.Start(0, 40); } if (onUnHover) { icon.ReturnFromDrag( icon.Position + new Vector2((icon.Size.X - this.IconSize.X) / 2, (icon.Size.Y - this.IconSize.Y) / 2)); icon.Hover.Start(0, 40); } var alpha = icon.Hovered ? icon.Hover.GetValue() : 40 - icon.Hover.GetValue(); var brightness = (float)priority / this.Count * 10; icon.Color = icon.Enabled ? System.Drawing.Color.FromArgb( (int)Math.Max(Math.Min(210 + alpha, 255), 0), (int) Math.Max( Math.Min( Menu.Root.SelectedTheme.TogglerEnabledColor.R / 10 * 4 + alpha + brightness * 18, 255), 0), (int) Math.Max( Math.Min( Menu.Root.SelectedTheme.TogglerEnabledColor.G / 10 * 4 + alpha + brightness * 12, 255), 0), (int) Math.Max( Math.Min( Menu.Root.SelectedTheme.TogglerEnabledColor.B / 10 + alpha + brightness, 255), 0)).ToSharpDxColor() : System.Drawing.Color.FromArgb( (int)Math.Max(Math.Min(210 + alpha, 255), 0), (int) Math.Max( Math.Min( Menu.Root.SelectedTheme.TogglerDisabledColor.R / 10 + alpha + brightness * 5, 255), 0), (int) Math.Max( Math.Min( Menu.Root.SelectedTheme.TogglerDisabledColor.G / 10 + alpha + brightness * 5, 255), 0), (int) Math.Max( Math.Min( Menu.Root.SelectedTheme.TogglerDisabledColor.B / 10 + alpha + brightness * 5, 255), 0)).ToSharpDxColor(); if (icon.Moving) { icon.Position = new Vector2( mousePosition.X - this.MousePositionDifference.X, this.BasePosition.Y - icon.Size.Y / 20); icon.IconPosition = icon.Position + new Vector2( icon.Size.X / 2 - icon.IconSize.X / 2, icon.Size.Y / 2 - icon.IconSize.Y / 2); this.CheckMovingIconPosition(icon, menuItem, mousePosition); return; } if (!icon.Hovered || icon.FixedPosition != this.BasePosition - new Vector2(move, 0) || this.MovingIcon != null && (!this.MovingIcon.Moving || !this.MovingIcon.Equals(icon))) { icon.Position = this.BasePosition - new Vector2(move, 0); } icon.Height = this.Height; icon.IconSize = this.textureIconSize; icon.Size = this.iconSize; icon.IconPosition = icon.Position + new Vector2( icon.Size.X / 2 - icon.IconSize.X / 2, icon.Size.Y / 2 - icon.IconSize.Y / 2); }
/// <summary> /// The handle priority icon. /// </summary> /// <param name="icon"> /// The icon. /// </param> /// <param name="mousePosition"> /// The mouse position. /// </param> /// <param name="priority"> /// The priority. /// </param> /// <param name="move"> /// The move. /// </param> /// <param name="menuItem"> /// The menu Item. /// </param> private void HandlePriorityIcon( PriorityIcon icon, Vector2 mousePosition, uint priority, float move, MenuItem menuItem) { var wasHovered = icon.Hovered; icon.Hovered = Utils.IsUnderRectangle( mousePosition, icon.Position.X, icon.Position.Y, icon.Size.X, icon.Size.Y); var onHover = !wasHovered && icon.Hovered; var onUnHover = wasHovered && !icon.Hovered; if (onHover) { icon.Hover.Start(0, 40); } if (onUnHover) { icon.ReturnFromDrag( icon.Position + new Vector2((icon.Size.X - this.IconSize.X) / 2, (icon.Size.Y - this.IconSize.Y) / 2)); icon.Hover.Start(0, 40); } var alpha = icon.Hovered ? icon.Hover.GetValue() : 40 - icon.Hover.GetValue(); var brightness = (float)priority / this.Count * 10; icon.Color = icon.Enabled ? System.Drawing.Color.FromArgb( (int)Math.Max(Math.Min(210 + alpha, 255), 0), (int) Math.Max( Math.Min( Menu.Root.SelectedTheme.TogglerEnabledColor.R / 10 * 4 + alpha + brightness * 18, 255), 0), (int) Math.Max( Math.Min( Menu.Root.SelectedTheme.TogglerEnabledColor.G / 10 * 4 + alpha + brightness * 12, 255), 0), (int) Math.Max( Math.Min( Menu.Root.SelectedTheme.TogglerEnabledColor.B / 10 + alpha + brightness, 255), 0)).ToSharpDxColor() : System.Drawing.Color.FromArgb( (int)Math.Max(Math.Min(210 + alpha, 255), 0), (int) Math.Max( Math.Min( Menu.Root.SelectedTheme.TogglerDisabledColor.R / 10 + alpha + brightness * 5, 255), 0), (int) Math.Max( Math.Min( Menu.Root.SelectedTheme.TogglerDisabledColor.G / 10 + alpha + brightness * 5, 255), 0), (int) Math.Max( Math.Min( Menu.Root.SelectedTheme.TogglerDisabledColor.B / 10 + alpha + brightness * 5, 255), 0)).ToSharpDxColor(); if (icon.Moving) { icon.Position = new Vector2( mousePosition.X - this.MousePositionDifference.X, this.BasePosition.Y - icon.Size.Y / 20); icon.IconPosition = icon.Position + new Vector2( icon.Size.X / 2 - icon.IconSize.X / 2, icon.Size.Y / 2 - icon.IconSize.Y / 2); this.CheckMovingIconPosition(icon, menuItem, mousePosition); return; } if (!icon.Hovered || icon.FixedPosition != this.BasePosition - new Vector2(move, 0) || (this.MovingIcon != null && (!this.MovingIcon.Moving || !this.MovingIcon.Equals(icon)))) { icon.Position = this.BasePosition - new Vector2(move, 0); } icon.Height = this.Height; icon.IconSize = this.textureIconSize; icon.Size = this.iconSize; icon.IconPosition = icon.Position + new Vector2( icon.Size.X / 2 - icon.IconSize.X / 2, icon.Size.Y / 2 - icon.IconSize.Y / 2); }