Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
liujiuri
engine
提交
6e39075a
E
engine
项目概览
liujiuri
/
engine
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
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,发现更多精彩内容 >>
提交
6e39075a
编写于
11月 11, 2015
作者:
C
Chinmay Garde
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Move to the service/pointer Mojo interface for input events on Mac
上级
a399d95b
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
37 addition
and
20 deletion
+37
-20
sky/shell/mac/sky_window.mm
sky/shell/mac/sky_window.mm
+37
-20
未找到文件。
sky/shell/mac/sky_window.mm
浏览文件 @
6e39075a
...
...
@@ -7,6 +7,7 @@
#include "base/time/time.h"
#include "mojo/public/cpp/bindings/interface_request.h"
#include "sky/services/engine/input_event.mojom.h"
#include "sky/services/pointer/pointer.mojom.h"
#include "sky/shell/mac/platform_view_mac.h"
#include "sky/shell/shell_view.h"
#include "sky/shell/shell.h"
...
...
@@ -20,25 +21,25 @@
@end
static
inline
sky
::
Event
Type
EventTypeFromNSEventPhase
(
NSEventPhase
phase
)
{
static
inline
pointer
::
Pointer
Type
EventTypeFromNSEventPhase
(
NSEventPhase
phase
)
{
switch
(
phase
)
{
case
NSEventPhaseNone
:
return
sky
::
EventType
::
UNKNOWN
;
return
pointer
::
PointerType
::
CANCEL
;
case
NSEventPhaseBegan
:
return
sky
::
EventType
::
POINTER_
DOWN
;
return
pointer
::
PointerType
::
DOWN
;
case
NSEventPhaseStationary
:
// There is no EVENT_TYPE_POINTER_STATIONARY. So we just pass a move type
// with the same coordinates
case
NSEventPhaseChanged
:
return
sky
::
EventType
::
POINTER_
MOVE
;
return
pointer
::
PointerType
::
MOVE
;
case
NSEventPhaseEnded
:
return
sky
::
EventType
::
POINTER_
UP
;
return
pointer
::
PointerType
::
UP
;
case
NSEventPhaseCancelled
:
return
sky
::
EventType
::
POINTER_
CANCEL
;
return
pointer
::
PointerType
::
CANCEL
;
case
NSEventPhaseMayBegin
:
return
sky
::
EventType
::
UNKNOWN
;
return
pointer
::
PointerType
::
CANCEL
;
}
return
sky
::
EventType
::
UNKNOWN
;
return
pointer
::
PointerType
::
CANCEL
;
}
@implementation
SkyWindow
{
...
...
@@ -151,21 +152,37 @@ static inline sky::EventType EventTypeFromNSEventPhase(NSEventPhase phase) {
-
(
void
)
dispatchEvent
:(
NSEvent
*
)
event
phase
:(
NSEventPhase
)
phase
{
NSPoint
location
=
[
_renderSurface
convertPoint
:
event
.
locationInWindow
fromView
:
nil
];
location
.
y
=
_renderSurface
.
frame
.
size
.
height
-
location
.
y
;
auto
input
=
sky
::
InputEvent
::
New
();
input
->
type
=
EventTypeFromNSEventPhase
(
phase
);
input
->
time_stamp
=
base
::
TimeDelta
::
FromSecondsD
(
event
.
timestamp
).
InMilliseconds
();
input
->
pointer_data
=
sky
::
PointerData
::
New
();
input
->
pointer_data
->
kind
=
sky
::
PointerKind
::
TOUCH
;
auto
pointer_data
=
pointer
::
Pointer
::
New
();
input
->
pointer_data
->
x
=
location
.
x
;
input
->
pointer_data
->
y
=
location
.
y
;
_sky_engine
->
OnInputEvent
(
input
.
Pass
());
pointer_data
->
time_stamp
=
base
::
TimeDelta
::
FromSecondsD
(
event
.
timestamp
).
InMilliseconds
();
pointer_data
->
type
=
EventTypeFromNSEventPhase
(
phase
);
pointer_data
->
kind
=
pointer
::
PointerKind
::
TOUCH
;
pointer_data
->
pointer
=
0
;
pointer_data
->
x
=
location
.
x
;
pointer_data
->
y
=
location
.
y
;
pointer_data
->
buttons
=
0
;
pointer_data
->
down
=
false
;
pointer_data
->
primary
=
false
;
pointer_data
->
obscured
=
false
;
pointer_data
->
pressure
=
1.0
;
pointer_data
->
pressure_min
=
0.0
;
pointer_data
->
pressure_max
=
1.0
;
pointer_data
->
distance
=
0.0
;
pointer_data
->
distance_min
=
0.0
;
pointer_data
->
distance_max
=
0.0
;
pointer_data
->
radius_major
=
0.0
;
pointer_data
->
radius_minor
=
0.0
;
pointer_data
->
radius_min
=
0.0
;
pointer_data
->
radius_max
=
0.0
;
pointer_data
->
orientation
=
0.0
;
pointer_data
->
tilt
=
0.0
;
auto
pointer_packet
=
pointer
::
PointerPacket
::
New
();
pointer_packet
->
pointers
.
push_back
(
pointer_data
.
Pass
());
_sky_engine
->
OnPointerPacket
(
pointer_packet
.
Pass
());
}
-
(
void
)
mouseDown
:(
NSEvent
*
)
event
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录