// Copyright 2018 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 ash.mojom; import "ui/gfx/geometry/mojo/geometry.mojom"; enum FocusRingBehavior { FADE_OUT_FOCUS_RING, PERSIST_FOCUS_RING }; // Interface for ash client (e.g. Chrome) to control and query accessibility // focus ring features. interface AccessibilityFocusRingController { // Sets the focus ring color for the given caller. SetFocusRingColor(uint32 skcolor, string caller_id); // Resets the focus ring color back to the default for the given caller. ResetFocusRingColor(string caller_id); // Draws a focus ring around the given set of rects in screen coordinates. Use // |focus_ring_behavior| to specify whether the focus ring should persist or // fade out for the given caller. SetFocusRing(array rects_in_screen, FocusRingBehavior focus_ring_behavior, string caller_id); // Hides focus ring on screen for the given caller. HideFocusRing(string caller_id); // Draws a highlight at the given rects in screen coordinates. Rects may be // overlapping and will be merged into one layer. This looks similar to // selecting a region with the cursor, except it is drawn in the foreground // rather than behind a text layer. // TODO(katie): Add |caller_id| to highlights as well if other Accessibility // tools or extensions want to use this API. SetHighlights(array rects_in_screen, uint32 skcolor); // Hides highlight on screen. // TODO(katie): Add |caller_id| to highlights as well. HideHighlights(); };