提交 30a05aab 编写于 作者: A Adam Barth

Add a mojom for delivering pointer events in packets

We don't use this interface yet.
上级 db53bace
......@@ -9,4 +9,8 @@ mojom("interfaces") {
"input_event.mojom",
"sky_engine.mojom",
]
deps = [
"//sky/services/pointer:interfaces"
]
}
......@@ -5,6 +5,7 @@
module sky;
import "sky/services/engine/input_event.mojom";
import "sky/services/pointer/pointer.mojom";
struct ViewportMetrics {
int32 physical_width;
......@@ -22,6 +23,7 @@ interface SkyEngine {
OnViewportMetricsChanged(ViewportMetrics metrics);
OnInputEvent(InputEvent event);
OnPointerPacket(pointer.PointerPacket packet);
RunFromNetwork(string url);
RunFromFile(string main, string package_root);
......
# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//mojo/public/tools/bindings/mojom.gni")
mojom("interfaces") {
sources = [
"pointer.mojom",
]
}
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
[DartPackage="sky_services"]
module pointer;
enum PointerType {
DOWN,
UP,
MOVE,
CANCEL,
};
enum PointerKind {
TOUCH,
MOUSE,
STYLUS,
INVERTED_STYLUS,
};
struct Pointer {
int64 time_stamp;
int32 pointer;
PointerType type;
PointerKind kind;
float x;
float y;
int32 buttons;
bool down;
bool primary;
bool obscured;
float pressure;
float pressure_min;
float pressure_max;
float distance;
float distance_min;
float distance_max;
float radius_major;
float radius_minor;
float radius_min;
float radius_max;
float orientation;
float tilt;
};
struct PointerPacket {
array<Pointer> pointers;
};
interface PointerListener {
OnPointerPacket(PointerPacket packet);
};
......@@ -164,6 +164,10 @@ void Engine::OnInputEvent(InputEventPtr event) {
sky_view_->HandleInputEvent(*web_event);
}
void Engine::OnPointerPacket(pointer::PointerPacketPtr packet) {
// TODO(abarth): Process pointer events in packets.
}
void Engine::RunFromLibrary(const std::string& name) {
sky_view_ = blink::SkyView::Create(this);
sky_view_->CreateView(blink::WebString::fromUTF8(name));
......
......@@ -70,6 +70,7 @@ class Engine : public UIDelegate,
// SkyEngine implementation:
void OnViewportMetricsChanged(ViewportMetricsPtr metrics) override;
void OnInputEvent(InputEventPtr event) override;
void OnPointerPacket(pointer::PointerPacketPtr packet) override;
void RunFromNetwork(const mojo::String& url) override;
void RunFromFile(const mojo::String& main,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册