MCPcopy Create free account
hub / github.com/gioui/gio / deliverDropEvent

Method deliverDropEvent

io/input/pointer.go:927–943  ·  view source on GitHub ↗
(handlers map[event.Tag]*handler, p pointerInfo, evts []taggedEvent)

Source from the content-addressed store, hash-verified

925}
926
927func (q *pointerQueue) deliverDropEvent(handlers map[event.Tag]*handler, p pointerInfo, evts []taggedEvent) (pointerInfo, []taggedEvent) {
928 if p.dataSource == nil {
929 return p, evts
930 }
931 // Request data from the source.
932 src := &handlers[p.dataSource].filter.pointer
933 for _, k := range p.entered {
934 h := handlers[k]
935 if m, ok := firstMimeMatch(src, &h.filter.pointer); ok {
936 p.dataTarget = k
937 evts = append(evts, taggedEvent{tag: p.dataSource, event: transfer.RequestEvent{Type: m}})
938 return p, evts
939 }
940 }
941 // No valid target found, abort.
942 return q.deliverTransferCancelEvent(handlers, p, evts)
943}
944
945func (q *pointerQueue) deliverTransferCancelEvent(handlers map[event.Tag]*handler, p pointerInfo, evts []taggedEvent) (pointerInfo, []taggedEvent) {
946 evts = append(evts, taggedEvent{tag: p.dataSource, event: transfer.CancelEvent{}})

Callers 1

PushMethod · 0.95

Calls 2

firstMimeMatchFunction · 0.85

Tested by

no test coverage detected