// Copyright 2016 The Fuchsia Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. library fuchsia.ui.policy; using fuchsia.ui.gfx; using fuchsia.ui.viewsv1token; // The Presenter service provides a way for applications to ask that a // specified view be added to a view tree, leaving any window management // concerns up to the discretion of the presenter implementation. // // TODO(SCN-599): this will be replaced by Presenter2 [Discoverable] interface Presenter { 1: Present2(handle<eventpair> view_owner_token, request<Presentation>? presentation_request); // Sets new default renderer params and forces them on for the duration of the // presenter's lifetime. Only applies to any subsequent calls to Present(). // Used for testing. 2: HACK_SetRendererParams(bool enable_clipping, vector<fuchsia.ui.gfx.RendererParam> params); // Set the input path. Root presenter will send to ViewManager (legacy) or Scenic. 3: HACK_SetInputPath(bool use_legacy); // Query the input path. Return true if ViewManager receives input. 4: HACK_QueryInputPath() -> (bool use_legacy); }; // The Presenter service provides a way for applications to ask that a // specified view be added to a view tree, leaving any window management // concerns up to the discretion of the presenter implementation. // // TODO(SCN-595): this is the new presenter interface, which will be renamed // to Presenter after the original is deleted. [Discoverable] interface Presenter2 { // Usage: the client creates a pair of eventpairs and uses one to create a // View in their Scenic session. The other eventpair is passed to this // method as |view_holder_token|; the Presenter2 service will use this to // create a ViewHolder which is embedded within an appropriate Scenic scene, // such that the client View it will receive input events, etc. 1: PresentView(handle<eventpair> view_holder_token, request<Presentation>? presentation_request); };