// 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. module mojo; import "components/view_manager/public/interfaces/view_tree.mojom"; import "ui/mojo/events/input_event_constants.mojom"; import "ui/mojo/events/input_events.mojom"; import "ui/mojo/events/input_key_codes.mojom"; import "ui/mojo/geometry/geometry.mojom"; // ViewTreeHost encapsulates a unique underlying platform window, with a tree // of views. interface ViewTreeHost { // Sets the size of the platform window. SetSize(mojo.Size size); // Add and remove accelerators. When accelerators are registered the // ViewTreeHostClient receives the key event via OnAccelerator() rather than // the focused view. The id is defined by the client and can be used to more // easily identify the accelerator's action. AddAccelerator(uint32 id, mojo.KeyboardCode keyboard_code, mojo.EventFlags flags); RemoveAccelerator(uint32 id); }; interface ViewTreeHostClient { // An accelerator registered via AddAccelerator() has been triggered. OnAccelerator(uint32 id, mojo.Event event); }; interface ViewTreeHostFactory { CreateViewTreeHost(ViewTreeHost& view_tree_host, ViewTreeHostClient? host_client, ViewTreeClient tree_client); };