// Copyright 2014 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/services/public/interfaces/geometry/geometry.mojom"

module mojo {

struct KeyData {
  int32 key_code;
  bool is_char;
};

struct TouchData {
  int32 pointer_id;
};

struct MouseWheelData {
  int32 x_offset;
  int32 y_offset;
};

struct Event {
  int32 action;
  int32 flags;
  int64 time_stamp;
  Point location;
  KeyData key_data;
  TouchData touch_data;
  MouseWheelData wheel_data;
};

}
