Adding upstream version 0.0~git20250520.a1d9079+dfsg.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
590ac7ff5f
commit
20149b7f3a
456 changed files with 70406 additions and 0 deletions
90
event/mouse/mouse.go
Normal file
90
event/mouse/mouse.go
Normal file
|
@ -0,0 +1,90 @@
|
|||
// Copyright 2015 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// Package mouse defines an event for mouse input.
|
||||
//
|
||||
// See the golang.org/x/mobile/app package for details on the event model.
|
||||
package mouse
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"golang.org/x/mobile/event/key"
|
||||
)
|
||||
|
||||
// Event is a mouse event.
|
||||
type Event struct {
|
||||
// X and Y are the mouse location, in pixels.
|
||||
X, Y float32
|
||||
|
||||
// Button is the mouse button being pressed or released. Its value may be
|
||||
// zero, for a mouse move or drag without any button change.
|
||||
Button Button
|
||||
|
||||
// TODO: have a field to hold what other buttons are down, for detecting
|
||||
// drags or button-chords.
|
||||
|
||||
// Modifiers is a bitmask representing a set of modifier keys:
|
||||
// key.ModShift, key.ModAlt, etc.
|
||||
Modifiers key.Modifiers
|
||||
|
||||
// Direction is the direction of the mouse event: DirPress, DirRelease,
|
||||
// or DirNone (for mouse moves or drags).
|
||||
Direction Direction
|
||||
|
||||
// TODO: add a Device ID, for multiple input devices?
|
||||
// TODO: add a time.Time?
|
||||
}
|
||||
|
||||
// Button is a mouse button.
|
||||
type Button int32
|
||||
|
||||
// IsWheel reports whether the button is for a scroll wheel.
|
||||
func (b Button) IsWheel() bool {
|
||||
return b < 0
|
||||
}
|
||||
|
||||
// TODO: have a separate axis concept for wheel up/down? How does that relate
|
||||
// to joystick events?
|
||||
|
||||
const (
|
||||
ButtonNone Button = +0
|
||||
ButtonLeft Button = +1
|
||||
ButtonMiddle Button = +2
|
||||
ButtonRight Button = +3
|
||||
|
||||
ButtonWheelUp Button = -1
|
||||
ButtonWheelDown Button = -2
|
||||
ButtonWheelLeft Button = -3
|
||||
ButtonWheelRight Button = -4
|
||||
)
|
||||
|
||||
// Direction is the direction of the mouse event.
|
||||
type Direction uint8
|
||||
|
||||
const (
|
||||
DirNone Direction = 0
|
||||
DirPress Direction = 1
|
||||
DirRelease Direction = 2
|
||||
// DirStep is a simultaneous press and release, such as a single step of a
|
||||
// mouse wheel.
|
||||
//
|
||||
// Its value equals DirPress | DirRelease.
|
||||
DirStep Direction = 3
|
||||
)
|
||||
|
||||
func (d Direction) String() string {
|
||||
switch d {
|
||||
case DirNone:
|
||||
return "None"
|
||||
case DirPress:
|
||||
return "Press"
|
||||
case DirRelease:
|
||||
return "Release"
|
||||
case DirStep:
|
||||
return "Step"
|
||||
default:
|
||||
return fmt.Sprintf("mouse.Direction(%d)", d)
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue