package ui import "opslag.de/schobers/geom" type DisplayCloseEvent struct { EventBase } type DisplayDragEnterEvent struct { EventBase X, Y float32 Files []string } func (e DisplayDragEnterEvent) Pos() geom.PointF32 { return geom.PtF32(e.X, e.Y) } type DisplayDragLeaveEvent struct { EventBase } type DisplayDragMoveEvent struct { EventBase X, Y float32 } func (e DisplayDragMoveEvent) Pos() geom.PointF32 { return geom.PtF32(e.X, e.Y) } type DisplayDropEvent struct { EventBase X, Y float32 Files []string } func (e DisplayDropEvent) Pos() geom.PointF32 { return geom.PtF32(e.X, e.Y) } type DisplayMoveEvent struct { EventBase Bounds geom.RectangleF32 } type DisplayResizeEvent struct { EventBase Bounds geom.RectangleF32 } type Event interface { Stamp() float64 } type EventBase struct { StampInSeconds float64 } func (e *EventBase) Stamp() float64 { return e.StampInSeconds } type KeyModifier int const ( KeyModifierNone KeyModifier = 0 KeyModifierShift = 1 << iota KeyModifierControl KeyModifierAlt KeyModifierOSCommand ) type KeyDownEvent struct { EventBase Key Key Modifiers KeyModifier } type KeyUpEvent struct { EventBase Key Key Modifiers KeyModifier } type MouseButton int const ( MouseButtonLeft MouseButton = 1 MouseButtonRight MouseButton = 2 MouseButtonMiddle MouseButton = 3 ) type MouseButtonDownEvent struct { MouseEvent Button MouseButton } type MouseButtonUpEvent struct { MouseEvent Button MouseButton } type MouseEnterEvent struct { MouseEvent } type MouseEvent struct { EventBase X, Y float32 } func (e *MouseEvent) Pos() geom.PointF32 { return geom.PtF32(e.X, e.Y) } type MouseLeaveEvent struct { MouseEvent } type MouseMoveEvent struct { MouseEvent MouseWheel float32 } type RefreshEvent struct { EventBase } type TextInputEvent struct { EventBase Character rune }