1bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch// Copyright 2013 The Chromium Authors. All rights reserved. 2bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 3bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch// found in the LICENSE file. 4bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch 5bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch#ifndef CONTENT_BROWSER_RENDERER_HOST_INPUT_WEB_INPUT_EVENT_BUILDERS_ANDROID_H_ 6bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch#define CONTENT_BROWSER_RENDERER_HOST_INPUT_WEB_INPUT_EVENT_BUILDERS_ANDROID_H_ 7bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch 85d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include <jni.h> 95d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 10bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch#include "third_party/WebKit/public/web/WebInputEvent.h" 11bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch 12bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdochnamespace content { 13bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch 14a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)class MotionEventAndroid; 15a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 16bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdochclass WebMouseEventBuilder { 17bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch public: 18f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) static blink::WebMouseEvent Build(blink::WebInputEvent::Type type, 195d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) blink::WebMouseEvent::Button button, 205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) double time_sec, 215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) int window_x, 225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) int window_y, 235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) int modifiers, 245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) int click_count); 25bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch}; 26bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch 27bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdochclass WebMouseWheelEventBuilder { 28bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch public: 29bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch enum Direction { 30bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch DIRECTION_UP, 31bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch DIRECTION_DOWN, 32bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch DIRECTION_LEFT, 33bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch DIRECTION_RIGHT, 34bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch }; 35bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch 36f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) static blink::WebMouseWheelEvent Build(Direction direction, 375d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) double time_sec, 385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) int window_x, 395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) int window_y); 40bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch}; 41bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch 42bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdochclass WebKeyboardEventBuilder { 43bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch public: 44f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) static blink::WebKeyboardEvent Build(blink::WebInputEvent::Type type, 455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) int modifiers, 465d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) double time_sec, 475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) int keycode, 485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) int unicode_character, 495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) bool is_system_key); 50bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch}; 51bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch 52bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdochclass WebGestureEventBuilder { 53bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch public: 54f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) static blink::WebGestureEvent Build(blink::WebInputEvent::Type type, 555d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) double time_sec, 565d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) int x, 575d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) int y); 585d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)}; 595d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 60bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch} // namespace content 61bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch 62bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch#endif // CONTENT_BROWSER_RENDERER_HOST_INPUT_WEB_INPUT_EVENT_BUILDERS_ANDROID_H_ 63