// 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="mojo_services"]
module mojo.ui;

// TODO(jeffbrown): Redesign input event representation later.
import "mojo/services/input_events/interfaces/input_events.mojom";

// The input connection service allows a view to receive input events
// such as key presses and pointer movements.

// This service can be retrieved from the |View| service provider.
//
// TODO(jeffbrown): Elaborate this.  Particularly need to think about
// how to handle focus and gestures.
[ServiceName="mojo::ui::InputConnection"]
interface InputConnection {
  // Sets the listener for receiving input events.
  //
  // If |listener| is null, then the previously set listener is removed.
  SetListener(InputListener? listener);
};

// An interface applications may implement to receive events from an
// input connection.
interface InputListener {
  // Called to deliver an input event.
  //
  // The |consumed| result should indicate whether the input event was
  // consumed by the connection.  If |consumed| is false, the system may
  // apply default behavior of its own in response to the event.
  OnEvent(mojo.Event event) => (bool consumed);
};
