/// <inheritdoc/> public override bool ProcessMouse(SadConsole.Input.MouseScreenObjectState info) { if (Parent.Host.CapturedControl == this) { if (info.Mouse.LeftButtonDown == false) { Parent.Host.ReleaseControl(); } else { var newState = new ControlMouseState(this, info); Point location = newState.MousePosition; //if (info.ConsolePosition.X >= Position.X && info.ConsolePosition.X < Position.X + Width) if (location.X >= 0 && location.X <= Width - 1 && location.Y > -4 && location.Y < Height + 3) { SelectedPosition = location.X; SelectedColorSafe = Surface[SelectedPosition, 0].Foreground; } IsDirty = true; } } return(base.ProcessMouse(info)); }
/// <inheritdoc/> public override bool ProcessMouse(SadConsole.Input.MouseScreenObjectState info) { if (Parent.Host.CapturedControl == this) { if (info.Mouse.LeftButtonDown == false) { Parent.Host.ReleaseControl(); } else { var newState = new ControlMouseState(this, info); var location = newState.MousePosition; //if (info.ConsolePosition.X >= Position.X && info.ConsolePosition.X < Position.X + Width) if (location.X >= -6 && location.X <= Width + 5 && location.Y > -4 && location.Y < Height + 3) { Surface[_selectedColorPosition.X, _selectedColorPosition.Y].Glyph = 0; _selectedColorPosition = new Point(Math.Clamp(location.X, 0, Width - 1), Math.Clamp(location.Y, 0, Height - 1)); SelectedColorSafe = Surface[_selectedColorPosition.X, _selectedColorPosition.Y].Background; Surface[_selectedColorPosition.X, _selectedColorPosition.Y].Glyph = 4; } IsDirty = true; } } return(base.ProcessMouse(info)); }
/// <inheritdoc/> public override bool ProcessMouse(MouseScreenObjectState state) { if (IsEnabled && UseMouse) { bool processResult = base.ProcessMouse(state); var controls = new List <ControlBase>(Controls); controls.Reverse(); foreach (var control in controls) { var state2 = new ControlMouseState(control, state); if (state2.IsMouseOver && state.Mouse.RightClicked) { System.Diagnostics.Debugger.Break(); } if (control.ProcessMouse(state)) { return(true); } } return(processResult); } return(false); }
/// <inheritdoc/> protected override void OnLeftMouseClicked(ControlMouseState info) { if (MouseArea.Contains(info.MousePosition)) { SelectedCharacter = Surface[info.MousePosition.ToIndex(Width)].Glyph; } base.OnLeftMouseClicked(info); }
/// <inheritdoc/> protected override void OnMouseExit(ControlMouseState state) { base.OnMouseExit(state); var controls = new List <ControlBase>(Controls); foreach (var control in controls) { control.LostMouse(state.OriginalMouseState); } }
/// <inheritdoc/> protected override void OnMouseIn(ControlMouseState info) { if (!MouseState_EnteredWithButtonDown && MouseArea.Contains(info.MousePosition) && info.OriginalMouseState.Mouse.LeftButtonDown) { if (!UseFullClick) { SelectedCharacter = Surface[info.MousePosition.ToIndex(Width)].Glyph; } } base.OnMouseIn(info); }
/// <inheritdoc/> protected override void OnMouseIn(ControlMouseState info) { base.OnMouseIn(info); if (Parent.Host.CapturedControl == null) { if (info.OriginalMouseState.Mouse.LeftButtonDown) { Point location = info.MousePosition; SelectedPosition = location.X; SelectedColorSafe = Surface[SelectedPosition, 0].Foreground; IsDirty = true; Parent.Host.CaptureControl(this); } } }
/// <inheritdoc/> protected override void OnMouseIn(ControlMouseState info) { base.OnMouseIn(info); if (Parent.Host.CapturedControl == null) { if (info.OriginalMouseState.Mouse.LeftButtonDown) { var location = info.MousePosition; Surface[_selectedColorPosition.X, _selectedColorPosition.Y].Glyph = 0; _selectedColorPosition = location; SelectedColorSafe = Surface[_selectedColorPosition.X, _selectedColorPosition.Y].Background; Surface[_selectedColorPosition.X, _selectedColorPosition.Y].Glyph = 4; IsDirty = true; Parent.Host.CaptureControl(this); } } }