[NUI] Add descriptions of Accessibility Interfaces
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / Accessibility / IAtspiValue.cs
1 /*
2  * Copyright(c) 2023 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17
18 using System;
19 using System.ComponentModel;
20
21 namespace Tizen.NUI.Accessibility
22 {
23     /// <summary>
24     /// Interface representing objects which can store numeric value.
25     /// </summary>
26     [EditorBrowsable(EditorBrowsableState.Never)]
27     public interface IAtspiValue
28     {
29         /// <summary>
30         /// Gets the lowest possible value.
31         /// </summary>
32         /// <returns> The minimum value </returns>
33         [EditorBrowsable(EditorBrowsableState.Never)]
34         double AccessibilityGetMinimum();
35
36         /// <summary>
37         /// Gets the current numeric value.
38         /// </summary>
39         /// <remarks>
40         /// The application may set the "value_format" attribute to one of the
41         /// following values in order to customize what is read by the Screen Reader:
42         /// 1. "percent" (the default) - AccessibilityGetCurrent() normalized as
43         ///    a percentage of the range [AccessibilityGetMinimum(), AccessibilityGetMaximum()],
44         /// 2. "number" - AccessibilityGetCurrent() verbatim,
45         /// 3. "text" - AccessibilityGetValueText() is used instead of AccessibilityGetCurrent()
46         /// </remarks>
47         [EditorBrowsable(EditorBrowsableState.Never)]
48         double AccessibilityGetCurrent();
49
50         /// <summary>
51         /// Gets the formatted current value.
52         /// </summary>
53         /// <remarks>
54         /// This does not have to be AccessibilityGetCurrent() formatted in any
55         /// particular way, i.e. it may be an arbitrary string, e.g. "small font size"
56         /// for the numeric value 10.0. The return value of this method is only
57         /// used if the "value_format" attribute is "text".
58         /// </remarks>
59         [EditorBrowsable(EditorBrowsableState.Never)]
60         string AccessibilityGetValueText();
61
62         /// <summary>
63         /// Gets the highest possible value.
64         /// </summary>
65         /// <returns> The highest value </returns>
66         [EditorBrowsable(EditorBrowsableState.Never)]
67         double AccessibilityGetMaximum();
68
69         /// <summary>
70         /// Sets the current value.
71         /// </summary>
72         /// <param name="value"> The current value to set </param>
73         /// <returns> True if value could have been assigned, false otherwise </returns>
74         [EditorBrowsable(EditorBrowsableState.Never)]
75         bool AccessibilitySetCurrent(double value);
76
77         /// <summary>
78         /// Gets the lowest increment that can be distinguished.
79         /// </summary>
80         /// <returns> The lowest increment </returns>
81         [EditorBrowsable(EditorBrowsableState.Never)]
82         double AccessibilityGetMinimumIncrement();
83     }
84 }