private void OnMouseDown(object sender, Input.Events.MouseEventArgs e) { var relative = GetRelativeLocation(e.Location); if (OnDecreaseButton(relative) && handleOffset > 0) { BeginUpdate(); handleOffset--; EndUpdate(); } else if (WithinScrollArea(relative)) { active = true; ConsoleInput.MouseDragged += OnMouseDragged; ConsoleInput.MouseReleased += OnMouseUp; int calulatedOffset = CalculateHandleOffset(relative); if (handleOffset != calulatedOffset) { BeginUpdate(); handleOffset = calulatedOffset; EndUpdate(); } } else if (OnIncreaseButton(relative) && handleOffset < ScrollEnd()) { BeginUpdate(); handleOffset++; EndUpdate(); } }
private void OnMouseDragged(object sender, Input.Events.MouseEventArgs e) { var relative = GetRelativeLocation(e.Location); if (active && WithinScrollArea(relative)) { BeginUpdate(); handleOffset = CalculateHandleOffset(relative); EndUpdate(); } }
private void OnMouseUp(object sender, Input.Events.MouseEventArgs e) { active = false; ConsoleInput.MouseDragged -= OnMouseDragged; ConsoleInput.MouseReleased -= OnMouseUp; }