blob: 650797c26c9f7895e15ff68372ea36f65512f7d3 [file] [log] [blame]
// 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);
};