blob: 2dd98a98c3ccc139a2297c2e467415d0aac9b6c9 [file] [log] [blame]
Kurt Catti-Schmidtf738bce2019-05-08 01:06:561// Copyright 2019 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.
4
5#ifndef UI_ACCESSIBILITY_AX_NODE_TEXT_STYLES_H_
6#define UI_ACCESSIBILITY_AX_NODE_TEXT_STYLES_H_
7
8#include <string>
9
Dominic Mazzonif9182792020-04-01 22:52:3110#include "ui/accessibility/ax_base_export.h"
Kurt Catti-Schmidtf738bce2019-05-08 01:06:5611
12namespace ui {
13
14// A compact representation of text styles on an AXNode. This data represents
15// a snapshot at a given time and is not intended to be held for periods of
16// time. For this reason, it is a move-only class, to encourage deliberate
17// short-term usage.
Dominic Mazzonif9182792020-04-01 22:52:3118struct AX_BASE_EXPORT AXNodeTextStyles {
Kurt Catti-Schmidtf738bce2019-05-08 01:06:5619 AXNodeTextStyles();
20
21 // Move-only class, explicitly delete copy-construction and assignment
22 AXNodeTextStyles(const AXNodeTextStyles& other) = delete;
23 AXNodeTextStyles& operator=(const AXNodeTextStyles&) = delete;
24
25 // Move constructor and assignment
26 AXNodeTextStyles(AXNodeTextStyles&& other);
27 AXNodeTextStyles& operator=(AXNodeTextStyles&& other);
28
29 bool operator==(const AXNodeTextStyles& other) const;
30
31 bool operator!=(const AXNodeTextStyles& other) const;
32
33 bool IsUnset() const;
34
35 int32_t background_color;
36 int32_t color;
37 int32_t invalid_state;
38 int32_t overline_style;
39 int32_t strikethrough_style;
40 int32_t text_direction;
41 int32_t text_position;
42 int32_t text_style;
43 int32_t underline_style;
44 float font_size;
45 float font_weight;
46 std::string font_family;
47};
48
49} // namespace ui
50
51#endif // UI_ACCESSIBILITY_AX_NODE_TEXT_STYLES_H_