| // Copyright 2019 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.accessibility; |
| |
| /// Exposes a privileged magnifier API for camera control, typically on a |
| /// `fuchsia.ui.policy.Presentation`. |
| protocol MagnificationHandler { |
| /// Sets clip-space x-offset, y-offset, and scale for the presentation. |
| /// x and y are in Vulkan NDC and are applied after scaling, which occurs |
| /// about the center of the presentation. The callback indicates when the |
| /// update has been presented. The identity transform (0, 0, 1) is the |
| /// natural state. |
| SetClipSpaceTransform(float32 x, float32 y, float32 scale) -> (); |
| }; |
| |
| [Discoverable] |
| protocol Magnifier { |
| /// Registers the camera control to be used for applying magnification. If |
| /// a previous handler had been registered, that handler is dropped. |
| RegisterHandler(MagnificationHandler handler); |
| }; |