您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 
 

56 行
2.0 KiB

using System;
using System.Collections.Generic;
using Unity.UIWidgets.foundation;
namespace Unity.UIWidgets.gestures {
public delegate void PointerSignalResolvedCallback(PointerSignalEvent evt);
public class PointerSignalResolver {
public bool _isSameEvent(PointerSignalEvent event1, PointerSignalEvent event2) {
return (event1.original ?? event1) == (event2.original ?? event2);
}
PointerSignalResolvedCallback _firstRegisteredCallback;
PointerSignalEvent _currentEvent;
public void register(PointerSignalEvent evt, PointerSignalResolvedCallback callback) {
D.assert(evt != null);
D.assert(callback != null);
D.assert(_currentEvent == null || _isSameEvent(_currentEvent, evt));
if (_firstRegisteredCallback != null) {
return;
}
_currentEvent = evt;
_firstRegisteredCallback = callback;
}
public void resolve(PointerSignalEvent evt) {
if (_firstRegisteredCallback == null) {
D.assert(_currentEvent == null);
return;
}
D.assert(_isSameEvent(_currentEvent, evt));
try {
_firstRegisteredCallback(_currentEvent);
}
catch (Exception exception) {
IEnumerable<DiagnosticsNode> infoCollector() {
yield return new DiagnosticsProperty<PointerSignalEvent>("Event", evt, style: DiagnosticsTreeStyle.errorProperty);
}
UIWidgetsError.reportError(new UIWidgetsErrorDetails(
exception: exception,
library: "gesture library",
context: new ErrorDescription("while resolving a PointerSignalEvent"),
informationCollector: infoCollector
)
);
}
_firstRegisteredCallback = null;
_currentEvent = null;
}
}
}