summaryrefslogtreecommitdiff
path: root/area.go
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2014-05-10 14:27:29 -0400
committerPietro Gagliardi <[email protected]>2014-05-10 14:27:29 -0400
commitfefab429fceff15171b47e6583b088ce19716fcd (patch)
tree7fde3a113b76c7b4c69d63479fb90a7d3112105f /area.go
parent605ea3123b8efc567b562c276f235dd119dc6de4 (diff)
Documented dragging issues caused by how Mac OS X handles mouse events; also determined that multiple buttons held at once only generates one mouseDragged: signal.
Diffstat (limited to 'area.go')
-rw-r--r--area.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/area.go b/area.go
index d6cbf3d..fbc629e 100644
--- a/area.go
+++ b/area.go
@@ -90,7 +90,7 @@ type MouseEvent struct {
// If the event was generated by a mouse button being released, Up contains the ID of that button.
// Otherwise, Up contains 0.
- // If both Down and Up are 0, the event represents mouse movement (with optional held buttons; see below).
+ // If both Down and Up are 0, the event represents mouse movement (with optional held buttons for dragging; see below).
// Down and Up shall not both be nonzero.
Up uint
@@ -106,6 +106,11 @@ type MouseEvent struct {
// Held will not include Down and Up.
// Held will be sorted.
// Only buttons 1, 2, and 3 are guaranteed to be detected by Held properly; whether or not any others are is implementation-defined.
+ //
+ // If Held is non-empty but Up and Down are both zero, the mouse is being dragged, with all the buttons in Held being held.
+ // Whether or not a drag into an Area generates MouseEvents is implementation-defined.
+ // Whether or not a drag over an Area when the program is inactive generates MouseEvents is also implementation-defined.
+ // Moving the mouse over an Area when the program is inactive and no buttons are held will, however, generate MouseEvents.
Held []uint
}