| // Copyright 2017 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.input; |
| |
| /// `Presentation.CapturePointerEvent` will consume this listener interface and |
| /// call `OnEvent` when a pointer event occurs. |
| protocol PointerCaptureListenerHACK { |
| OnPointerEvent(struct { |
| event fuchsia.ui.input.PointerEvent; |
| }); |
| }; |
| |
| /// Allows clients of Presenter.Present() to control a presentation. |
| /// Experimental. |
| @discoverable |
| protocol Presentation { |
| /// This call exists so that base shell can capture pointer events. |
| // TODO: Figure out the feasibility of this feature and the best place to put |
| // it. This call will be replaced by gesture disambiguation system in future. |
| CapturePointerEventsHACK(resource struct { |
| listener client_end:PointerCaptureListenerHACK; |
| }); |
| }; |