1effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "ui/events/gesture_event_details.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace ui { 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 9116680a4aac90f2aa7413d9095a592090648e557Ben MurdochGestureEventDetails::GestureEventDetails() 10116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch : type_(ET_UNKNOWN), touch_points_(0), oldest_touch_id_(-1) { 11116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 12effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciGestureEventDetails::GestureEventDetails(ui::EventType type) 141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci : type_(type), touch_points_(1), oldest_touch_id_(-1) { 151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci DCHECK_GE(type, ET_GESTURE_TYPE_START); 161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci DCHECK_LE(type, ET_GESTURE_TYPE_END); 171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)GestureEventDetails::GestureEventDetails(ui::EventType type, 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) float delta_x, 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) float delta_y) 221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci : type_(type), touch_points_(1), oldest_touch_id_(-1) { 23f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) DCHECK_GE(type, ET_GESTURE_TYPE_START); 24f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) DCHECK_LE(type, ET_GESTURE_TYPE_END); 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) switch (type_) { 265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) case ui::ET_GESTURE_SCROLL_BEGIN: 275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) data.scroll_begin.x_hint = delta_x; 285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) data.scroll_begin.y_hint = delta_y; 295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) break; 305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) case ui::ET_GESTURE_SCROLL_UPDATE: 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) data.scroll_update.x = delta_x; 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) data.scroll_update.y = delta_y; 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) break; 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) case ui::ET_SCROLL_FLING_START: 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) data.fling_velocity.x = delta_x; 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) data.fling_velocity.y = delta_y; 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) break; 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) case ui::ET_GESTURE_TWO_FINGER_TAP: 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) data.first_finger_enclosing_rectangle.width = delta_x; 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) data.first_finger_enclosing_rectangle.height = delta_y; 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) break; 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 46cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) case ui::ET_GESTURE_SWIPE: 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) data.swipe.left = delta_x < 0; 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) data.swipe.right = delta_x > 0; 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) data.swipe.up = delta_y < 0; 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) data.swipe.down = delta_y > 0; 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) break; 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) default: 541320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci NOTREACHED() << "Invalid event type for constructor: " << type; 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 58effb81e5f8246d0db0270817048dc992db66e9fbBen MurdochGestureEventDetails::Details::Details() { 59effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch memset(this, 0, sizeof(Details)); 60effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch} 61effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace ui 63