1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_CHROMEOS_UI_ACCESSIBILITY_FOCUS_RING_LAYER_H_
6 #define CHROME_BROWSER_CHROMEOS_UI_ACCESSIBILITY_FOCUS_RING_LAYER_H_
8 #include "chrome/browser/chromeos/ui/accessibility_focus_ring.h"
9 #include "chrome/browser/chromeos/ui/focus_ring_layer.h"
13 // A subclass of FocusRingLayer intended for use by ChromeVox; it supports
14 // nonrectangular focus rings in order to highlight groups of elements or
15 // a range of text on a page.
16 class AccessibilityFocusRingLayer
: public FocusRingLayer
{
18 explicit AccessibilityFocusRingLayer(FocusRingLayerDelegate
* delegate
);
19 ~AccessibilityFocusRingLayer() override
;
21 // Create the layer and update its bounds and position in the hierarchy.
22 void Set(const AccessibilityFocusRing
& ring
);
25 // ui::LayerDelegate overrides:
26 void OnPaintLayer(const ui::PaintContext
& context
) override
;
28 // The outline of the current focus ring.
29 AccessibilityFocusRing ring_
;
31 DISALLOW_COPY_AND_ASSIGN(AccessibilityFocusRingLayer
);
34 } // namespace chromeos
36 #endif // CHROME_BROWSER_CHROMEOS_UI_ACCESSIBILITY_FOCUS_RING_LAYER_H_