| // 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<gfx.mojom.Rect> 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<gfx.mojom.Rect> rects_in_screen, uint32 skcolor); |
| |
| // Hides highlight on screen. |
| // TODO(katie): Add |caller_id| to highlights as well. |
| HideHighlights(); |
| }; |