Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
sxychenjing
engine
提交
e5f510f7
E
engine
项目概览
sxychenjing
/
engine
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
engine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
e5f510f7
编写于
12月 03, 2020
作者:
F
Ferhat
提交者:
GitHub
12月 03, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[web] Fix event transform between mousedown/up due to mouse move event (#22813)
上级
bee352c7
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
14 addition
and
1 deletion
+14
-1
lib/web_ui/lib/src/engine/pointer_binding.dart
lib/web_ui/lib/src/engine/pointer_binding.dart
+1
-0
lib/web_ui/lib/src/engine/pointer_converter.dart
lib/web_ui/lib/src/engine/pointer_converter.dart
+13
-1
未找到文件。
lib/web_ui/lib/src/engine/pointer_binding.dart
浏览文件 @
e5f510f7
...
...
@@ -412,6 +412,7 @@ class _ButtonSanitizer {
}
_pressedButtons
=
newPressedButtons
;
return
_SanitizedDetails
(
change:
_pressedButtons
==
0
?
ui
.
PointerChange
.
hover
...
...
lib/web_ui/lib/src/engine/pointer_converter.dart
浏览文件 @
e5f510f7
...
...
@@ -48,6 +48,14 @@ class PointerDataConverter {
// Map from browser pointer identifiers to PointerEvent pointer identifiers.
final
Map
<
int
,
_PointerState
>
_pointers
=
<
int
,
_PointerState
>{};
/// This field is used to keep track of button state.
///
/// To normalize pointer events, when we receive pointer down followed by
/// pointer up, we synthesize a move event. To make sure that button state
/// is correct for move regardless of button state at the time of up event
/// we store it on down,hover and move events.
int
_activeButtons
=
0
;
/// Clears the existing pointer states.
///
/// This method is invoked during hot reload to make sure we have a clean
...
...
@@ -55,6 +63,7 @@ class PointerDataConverter {
void
clearPointerState
()
{
_pointers
.
clear
();
_PointerState
.
_pointerCount
=
0
;
_activeButtons
=
0
;
}
_PointerState
_ensureStateForPointer
(
int
device
,
double
x
,
double
y
)
{
...
...
@@ -328,6 +337,7 @@ class PointerDataConverter {
scrollDeltaY:
scrollDeltaY
,
)
);
_activeButtons
=
buttons
;
break
;
case
ui
.
PointerChange
.
down
:
final
bool
alreadyAdded
=
_pointers
.
containsKey
(
device
);
...
...
@@ -426,6 +436,7 @@ class PointerDataConverter {
scrollDeltaY:
scrollDeltaY
,
)
);
_activeButtons
=
buttons
;
break
;
case
ui
.
PointerChange
.
move
:
assert
(
_pointers
.
containsKey
(
device
));
...
...
@@ -459,6 +470,7 @@ class PointerDataConverter {
scrollDeltaY:
scrollDeltaY
,
)
);
_activeButtons
=
buttons
;
break
;
case
ui
.
PointerChange
.
up
:
case
ui
.
PointerChange
.
cancel
:
...
...
@@ -485,7 +497,7 @@ class PointerDataConverter {
device:
device
,
physicalX:
physicalX
,
physicalY:
physicalY
,
buttons:
b
uttons
,
buttons:
_activeB
uttons
,
obscured:
obscured
,
pressure:
pressure
,
pressureMin:
pressureMin
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录