(handlers map[event.Tag]*handler, p pointerInfo, evts []taggedEvent, e pointer.Event)
| 796 | } |
| 797 | |
| 798 | func (q *pointerQueue) deliverEvent(handlers map[event.Tag]*handler, p pointerInfo, evts []taggedEvent, e pointer.Event) []taggedEvent { |
| 799 | if p.pressed && len(p.handlers) == 1 { |
| 800 | e.Priority = pointer.Grabbed |
| 801 | } |
| 802 | scroll := e.Scroll |
| 803 | for _, k := range p.handlers { |
| 804 | h, ok := handlers[k] |
| 805 | if !ok { |
| 806 | continue |
| 807 | } |
| 808 | f := h.filter.pointer |
| 809 | if !f.Matches(e) { |
| 810 | continue |
| 811 | } |
| 812 | if e.Kind == pointer.Scroll { |
| 813 | if scroll == (f32.Point{}) { |
| 814 | return evts |
| 815 | } |
| 816 | scroll, e.Scroll = f.clampScroll(scroll) |
| 817 | } |
| 818 | e := e |
| 819 | e.Position = q.invTransform(h.pointer.areaPlusOne-1, e.Position) |
| 820 | evts = append(evts, taggedEvent{event: e, tag: k}) |
| 821 | } |
| 822 | return evts |
| 823 | } |
| 824 | |
| 825 | func (q *pointerQueue) deliverEnterLeaveEvents(handlers map[event.Tag]*handler, cursor pointer.Cursor, p pointerInfo, evts []taggedEvent, e pointer.Event) (pointerInfo, []taggedEvent, pointer.Cursor, bool) { |
| 826 | changed := false |
no test coverage detected