blob: 5c66ba442803ef311ba31a335a177d650a7b0e16 [file] [log] [blame] [view] [edit]
Project: /youtube/cobalt/_project.yaml
Book: /youtube/cobalt/_book.yaml
# Starboard Module Reference: `accessibility.h`
Provides access to the system options and settings related to accessibility.
## Enums
### SbAccessibilityCaptionCharacterEdgeStyle
Enum for possible closed captioning character edge styles.
#### Values
* `kSbAccessibilityCaptionCharacterEdgeStyleNone`
* `kSbAccessibilityCaptionCharacterEdgeStyleRaised`
* `kSbAccessibilityCaptionCharacterEdgeStyleDepressed`
* `kSbAccessibilityCaptionCharacterEdgeStyleUniform`
* `kSbAccessibilityCaptionCharacterEdgeStyleDropShadow`
### SbAccessibilityCaptionColor
Enum for possible closed captioning colors.
#### Values
* `kSbAccessibilityCaptionColorBlue`
* `kSbAccessibilityCaptionColorBlack`
* `kSbAccessibilityCaptionColorCyan`
* `kSbAccessibilityCaptionColorGreen`
* `kSbAccessibilityCaptionColorMagenta`
* `kSbAccessibilityCaptionColorRed`
* `kSbAccessibilityCaptionColorWhite`
* `kSbAccessibilityCaptionColorYellow`
### SbAccessibilityCaptionFontFamily
Enum for possible closed captioning font families
#### Values
* `kSbAccessibilityCaptionFontFamilyCasual`
* `kSbAccessibilityCaptionFontFamilyCursive`
* `kSbAccessibilityCaptionFontFamilyMonospaceSansSerif`
* `kSbAccessibilityCaptionFontFamilyMonospaceSerif`
* `kSbAccessibilityCaptionFontFamilyProportionalSansSerif`
* `kSbAccessibilityCaptionFontFamilyProportionalSerif`
* `kSbAccessibilityCaptionFontFamilySmallCapitals`
### SbAccessibilityCaptionFontSizePercentage
Enum for possible closed captioning font size percentages.
#### Values
* `kSbAccessibilityCaptionFontSizePercentage25`
* `kSbAccessibilityCaptionFontSizePercentage50`
* `kSbAccessibilityCaptionFontSizePercentage75`
* `kSbAccessibilityCaptionFontSizePercentage100`
* `kSbAccessibilityCaptionFontSizePercentage125`
* `kSbAccessibilityCaptionFontSizePercentage150`
* `kSbAccessibilityCaptionFontSizePercentage175`
* `kSbAccessibilityCaptionFontSizePercentage200`
* `kSbAccessibilityCaptionFontSizePercentage225`
* `kSbAccessibilityCaptionFontSizePercentage250`
* `kSbAccessibilityCaptionFontSizePercentage275`
* `kSbAccessibilityCaptionFontSizePercentage300`
### SbAccessibilityCaptionOpacityPercentage
Enum for possible closed captioning opacity percentages.
#### Values
* `kSbAccessibilityCaptionOpacityPercentage0`
* `kSbAccessibilityCaptionOpacityPercentage25`
* `kSbAccessibilityCaptionOpacityPercentage50`
* `kSbAccessibilityCaptionOpacityPercentage75`
* `kSbAccessibilityCaptionOpacityPercentage100`
### SbAccessibilityCaptionState
Enum for possible states of closed captioning properties.
#### Values
* `kSbAccessibilityCaptionStateUnsupported`
The property is not supported by the system. The application should provide
a way to set this property, otherwise it will not be changeable. For any
given closed captioning property, if its corresponding state property has a
value of `kSbAccessibilityCaptionStateUnsupported`, then its own value is
undefined. For example, if
`SbAccessibilityCaptionColor::background_color_state` has a value of
`kSbAccessibilityCaptionStateUnsupported`, then the value of
`SbAccessibilityCaptionColor::background_color` is undefined.
* `kSbAccessibilityCaptionStateUnset`
The property is supported by the system, but the user has not set it. The
application should provide a default setting for the property to handle this
case.
* `kSbAccessibilityCaptionStateSet`
The user has set this property as a system default, meaning that it should
take priority over app defaults. If
SbAccessibilityCaptionSettings.supportsOverride contains true, this value
should be interpreted as explicitly saying "do not override." If it contains
false, it is up to the application to interpret any additional meaning of
this value.
* `kSbAccessibilityCaptionStateOverride`
This property should take priority over everything but application-level
overrides, including video caption data. If
SbAccessibilityCaptionSettings.supportsOverride contains false, then no
fields of SbAccessibilityCaptionSettings will ever contain this value.
## Structs
### SbAccessibilityCaptionSettings
A group of settings related to system-level closed captioning settings, for
platforms that expose closed captioning settings.
#### Members
* `SbAccessibilityCaptionColor background_color`
* `SbAccessibilityCaptionState background_color_state`
* `SbAccessibilityCaptionOpacityPercentage background_opacity`
* `SbAccessibilityCaptionState background_opacity_state`
* `SbAccessibilityCaptionCharacterEdgeStyle character_edge_style`
* `SbAccessibilityCaptionState character_edge_style_state`
* `SbAccessibilityCaptionColor font_color`
* `SbAccessibilityCaptionState font_color_state`
* `SbAccessibilityCaptionFontFamily font_family`
* `SbAccessibilityCaptionState font_family_state`
* `SbAccessibilityCaptionOpacityPercentage font_opacity`
* `SbAccessibilityCaptionState font_opacity_state`
* `SbAccessibilityCaptionFontSizePercentage font_size`
* `SbAccessibilityCaptionState font_size_state`
* `SbAccessibilityCaptionColor window_color`
* `SbAccessibilityCaptionState window_color_state`
* `SbAccessibilityCaptionOpacityPercentage window_opacity`
* `SbAccessibilityCaptionState window_opacity_state`
* `bool is_enabled`
The `is_enabled` attribute determines if the user has chosen to enable
closed captions on their system.
* `bool supports_is_enabled`
Some platforms support enabling or disabling captions, some support reading
whether they are enabled from the system settings, and others support
neither. As a result, there are separate checks for getting and setting the
value that is contained in the `is_enabled` attribute. Modifying the
attribute via `SbAccessibilitySetCaptionsEnabled` will change the setting
system-wide. Attempting to read `is_enabled` when the value of
`supports_is_enabled` is false will always return false. Attempting to set
`is_enabled` via `SbAccessibilitySetCaptionsEnabled` when the value of
`supports_set_enabled` is false will fail silently.
* `bool supports_set_enabled`
* `bool supports_override`
Some platforms may specify that when setting a property, it should override
data from video streams and application settings (unless the application has
its own overrides). Depending on whether this attribute contains true or
false, the values of `SbAccessibilityCaptionState` should be interpreted
differently.
### SbAccessibilityDisplaySettings
#### Members
* `bool has_high_contrast_text_setting`
Whether this platform has a system setting for high contrast text or not.
* `bool is_high_contrast_text_enabled`
Whether the high contrast text setting is enabled or not.
### SbAccessibilityTextToSpeechSettings
A group of settings related to text-to-speech functionality, for platforms that
expose system settings for text-to-speech.
#### Members
* `bool has_text_to_speech_setting`
Whether this platform has a system setting for text-to-speech or not.
* `bool is_text_to_speech_enabled`
Whether the text-to-speech setting is enabled or not. This setting is only
valid if `has_text_to_speech_setting` is set to true.
## Functions
### SbAccessibilityGetCaptionSettings
Get the platform's settings for system-level closed captions. This function
returns false if `caption_settings` is NULL or if it is not zero-initialized.
`caption_settings`: A pointer to a zero-initialized
SbAccessibilityTextToSpeechSettings struct.
#### Declaration
```
bool SbAccessibilityGetCaptionSettings(SbAccessibilityCaptionSettings *caption_settings)
```
### SbAccessibilityGetDisplaySettings
Get the platform settings related to high contrast text. This function returns
false if `out_settings` is NULL or if it is not zero-initialized.
`out_settings`: A pointer to a zero-initialized SbAccessibilityDisplaySettings*
struct.
#### Declaration
```
bool SbAccessibilityGetDisplaySettings(SbAccessibilityDisplaySettings *out_settings)
```
### SbAccessibilityGetTextToSpeechSettings
Get the platform settings related to the text-to-speech accessibility feature.
This function returns false if `out_settings` is NULL or if it is not zero-
initialized.
`out_settings`: A pointer to a zero-initialized
SbAccessibilityTextToSpeechSettings struct.
#### Declaration
```
bool SbAccessibilityGetTextToSpeechSettings(SbAccessibilityTextToSpeechSettings *out_settings)
```
### SbAccessibilitySetCaptionsEnabled
Modifies whether closed captions are enabled at a system level. This function
returns false if this feature is not supported by the platform, or if changing
the setting is unsuccessful. This function will modify the setting system-wide.
`enabled`: A boolean indicating whether captions should be turned on (true) or
off (false).
#### Declaration
```
bool SbAccessibilitySetCaptionsEnabled(bool enabled)
```