154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius/*
254dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius*****************************************************************************************
3fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius* Copyright (C) 2014, International Business Machines
454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius* Corporation and others. All Rights Reserved.
554dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius*****************************************************************************************
654dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius*/
754dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius
854dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius#ifndef UDISPLAYCONTEXT_H
954dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius#define UDISPLAYCONTEXT_H
1054dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius
1154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius#include "unicode/utypes.h"
1254dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius
1354dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius#if !UCONFIG_NO_FORMATTING
1454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius
1554dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius/**
1659d709d503bab6e2b61931737e662dd293b40578ccornelius * \file
1759d709d503bab6e2b61931737e662dd293b40578ccornelius * \brief C API: Display context types (enum values)
1859d709d503bab6e2b61931737e662dd293b40578ccornelius */
1959d709d503bab6e2b61931737e662dd293b40578ccornelius
2059d709d503bab6e2b61931737e662dd293b40578ccornelius/**
2154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius * Display context types, for getting values of a particular setting.
2254dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius * Note, the specific numeric values are internal and may change.
23fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius * @stable ICU 51
2454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius */
2554dcd9b6a06071f647dac967e9e267abb9410720Craig Corneliusenum UDisplayContextType {
2654dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius    /**
2754dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * Type to retrieve the dialect handling setting, e.g.
2854dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * UDISPCTX_STANDARD_NAMES or UDISPCTX_DIALECT_NAMES.
29fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius     * @stable ICU 51
3054dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     */
3154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius    UDISPCTX_TYPE_DIALECT_HANDLING = 0,
3254dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius    /**
3354dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * Type to retrieve the capitalization context setting, e.g.
3454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * UDISPCTX_CAPITALIZATION_NONE, UDISPCTX_CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE,
3554dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * UDISPCTX_CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE, etc.
36fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius     * @stable ICU 51
3754dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     */
3854dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius    UDISPCTX_TYPE_CAPITALIZATION = 1
39f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius#ifndef U_HIDE_DRAFT_API
40f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius    ,
41f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius    /**
42f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius     * Type to retrieve the display length setting, e.g.
43f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius     * UDISPCTX_LENGTH_FULL, UDISPCTX_LENGTH_SHORT.
44f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius     * @draft ICU 54
45f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius     */
46f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius    UDISPCTX_TYPE_DISPLAY_LENGTH = 2
47f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius#endif  /* U_HIDE_DRAFT_API */
4854dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius};
4954dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius/**
50fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius*  @stable ICU 51
5154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius*/
5254dcd9b6a06071f647dac967e9e267abb9410720Craig Corneliustypedef enum UDisplayContextType UDisplayContextType;
5354dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius
5454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius/**
5554dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius * Display context settings.
5654dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius * Note, the specific numeric values are internal and may change.
57fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius * @stable ICU 51
5854dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius */
5954dcd9b6a06071f647dac967e9e267abb9410720Craig Corneliusenum UDisplayContext {
6054dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius    /**
6154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * ================================
6254dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * DIALECT_HANDLING can be set to one of UDISPCTX_STANDARD_NAMES or
6354dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * UDISPCTX_DIALECT_NAMES. Use UDisplayContextType UDISPCTX_TYPE_DIALECT_HANDLING
6454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * to get the value.
6554dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     */
6654dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius    /**
6754dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * A possible setting for DIALECT_HANDLING:
6854dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * use standard names when generating a locale name,
6954dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * e.g. en_GB displays as 'English (United Kingdom)'.
70fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius     * @stable ICU 51
7154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     */
7254dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius    UDISPCTX_STANDARD_NAMES = (UDISPCTX_TYPE_DIALECT_HANDLING<<8) + 0,
7354dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius    /**
7454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * A possible setting for DIALECT_HANDLING:
7554dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * use dialect names, when generating a locale name,
7654dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * e.g. en_GB displays as 'British English'.
77fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius     * @stable ICU 51
7854dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     */
7954dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius    UDISPCTX_DIALECT_NAMES = (UDISPCTX_TYPE_DIALECT_HANDLING<<8) + 1,
8054dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius    /**
8154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * ================================
8254dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * CAPITALIZATION can be set to one of UDISPCTX_CAPITALIZATION_NONE,
8354dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * UDISPCTX_CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE,
8454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * UDISPCTX_CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE,
8554dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * UDISPCTX_CAPITALIZATION_FOR_UI_LIST_OR_MENU, or
8654dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * UDISPCTX_CAPITALIZATION_FOR_STANDALONE.
8754dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * Use UDisplayContextType UDISPCTX_TYPE_CAPITALIZATION to get the value.
8854dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     */
8954dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius    /**
9054dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * The capitalization context to be used is unknown (this is the default value).
91fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius     * @stable ICU 51
9254dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     */
9354dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius    UDISPCTX_CAPITALIZATION_NONE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 0,
9454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius    /**
9554dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * The capitalization context if a date, date symbol or display name is to be
9654dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * formatted with capitalization appropriate for the middle of a sentence.
97fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius     * @stable ICU 51
9854dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     */
9954dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius    UDISPCTX_CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 1,
10054dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius    /**
10154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * The capitalization context if a date, date symbol or display name is to be
10254dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * formatted with capitalization appropriate for the beginning of a sentence.
103fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius     * @stable ICU 51
10454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     */
10554dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius    UDISPCTX_CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 2,
10654dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius    /**
10754dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * The capitalization context if a date, date symbol or display name is to be
10854dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * formatted with capitalization appropriate for a user-interface list or menu item.
109fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius     * @stable ICU 51
11054dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     */
11154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius    UDISPCTX_CAPITALIZATION_FOR_UI_LIST_OR_MENU = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 3,
11254dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius    /**
11354dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * The capitalization context if a date, date symbol or display name is to be
11454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * formatted with capitalization appropriate for stand-alone usage such as an
11554dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     * isolated name on a calendar page.
116fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius     * @stable ICU 51
11754dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius     */
11854dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius    UDISPCTX_CAPITALIZATION_FOR_STANDALONE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 4
119f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius#ifndef U_HIDE_DRAFT_API
120f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius    ,
121f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius    /**
122f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius     * ================================
123f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius     * DISPLAY_LENGTH can be set to one of UDISPCTX_LENGTH_FULL or
124f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius     * UDISPCTX_LENGTH_SHORT. Use UDisplayContextType UDISPCTX_TYPE_DISPLAY_LENGTH
125f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius     * to get the value.
126f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius     */
127f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius    /**
128f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius     * A possible setting for DISPLAY_LENGTH:
129f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius     * use full names when generating a locale name,
130f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius     * e.g. "United States" for US.
131f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius     * @draft ICU 54
132f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius     */
133f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius    UDISPCTX_LENGTH_FULL = (UDISPCTX_TYPE_DISPLAY_LENGTH<<8) + 0,
134f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius    /**
135f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius     * A possible setting for DISPLAY_LENGTH:
136f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius     * use short names when generating a locale name,
137f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius     * e.g. "U.S." for US.
138f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius     * @draft ICU 54
139f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius     */
140f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius    UDISPCTX_LENGTH_SHORT = (UDISPCTX_TYPE_DISPLAY_LENGTH<<8) + 1
141f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius#endif  /* U_HIDE_DRAFT_API */
14254dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius};
14354dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius/**
144fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius*  @stable ICU 51
14554dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius*/
14654dcd9b6a06071f647dac967e9e267abb9410720Craig Corneliustypedef enum UDisplayContext UDisplayContext;
14754dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius
14854dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius#endif /* #if !UCONFIG_NO_FORMATTING */
14954dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius
15054dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius#endif
151