1 /* 2 ***************************************************************************************** 3 * Copyright (C) 2014-2015, International Business Machines 4 * Corporation and others. All Rights Reserved. 5 ***************************************************************************************** 6 */ 7 8 #ifndef UDISPLAYCONTEXT_H 9 #define UDISPLAYCONTEXT_H 10 11 #include "unicode/utypes.h" 12 13 #if !UCONFIG_NO_FORMATTING 14 15 /** 16 * \file 17 * \brief C API: Display context types (enum values) 18 */ 19 20 /** 21 * Display context types, for getting values of a particular setting. 22 * Note, the specific numeric values are internal and may change. 23 * @stable ICU 51 24 */ 25 enum UDisplayContextType { 26 /** 27 * Type to retrieve the dialect handling setting, e.g. 28 * UDISPCTX_STANDARD_NAMES or UDISPCTX_DIALECT_NAMES. 29 * @stable ICU 51 30 */ 31 UDISPCTX_TYPE_DIALECT_HANDLING = 0, 32 /** 33 * Type to retrieve the capitalization context setting, e.g. 34 * UDISPCTX_CAPITALIZATION_NONE, UDISPCTX_CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE, 35 * UDISPCTX_CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE, etc. 36 * @stable ICU 51 37 */ 38 UDISPCTX_TYPE_CAPITALIZATION = 1, 39 /** 40 * Type to retrieve the display length setting, e.g. 41 * UDISPCTX_LENGTH_FULL, UDISPCTX_LENGTH_SHORT. 42 * @stable ICU 54 43 */ 44 UDISPCTX_TYPE_DISPLAY_LENGTH = 2 45 }; 46 /** 47 * @stable ICU 51 48 */ 49 typedef enum UDisplayContextType UDisplayContextType; 50 51 /** 52 * Display context settings. 53 * Note, the specific numeric values are internal and may change. 54 * @stable ICU 51 55 */ 56 enum UDisplayContext { 57 /** 58 * ================================ 59 * DIALECT_HANDLING can be set to one of UDISPCTX_STANDARD_NAMES or 60 * UDISPCTX_DIALECT_NAMES. Use UDisplayContextType UDISPCTX_TYPE_DIALECT_HANDLING 61 * to get the value. 62 */ 63 /** 64 * A possible setting for DIALECT_HANDLING: 65 * use standard names when generating a locale name, 66 * e.g. en_GB displays as 'English (United Kingdom)'. 67 * @stable ICU 51 68 */ 69 UDISPCTX_STANDARD_NAMES = (UDISPCTX_TYPE_DIALECT_HANDLING<<8) + 0, 70 /** 71 * A possible setting for DIALECT_HANDLING: 72 * use dialect names, when generating a locale name, 73 * e.g. en_GB displays as 'British English'. 74 * @stable ICU 51 75 */ 76 UDISPCTX_DIALECT_NAMES = (UDISPCTX_TYPE_DIALECT_HANDLING<<8) + 1, 77 /** 78 * ================================ 79 * CAPITALIZATION can be set to one of UDISPCTX_CAPITALIZATION_NONE, 80 * UDISPCTX_CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE, 81 * UDISPCTX_CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE, 82 * UDISPCTX_CAPITALIZATION_FOR_UI_LIST_OR_MENU, or 83 * UDISPCTX_CAPITALIZATION_FOR_STANDALONE. 84 * Use UDisplayContextType UDISPCTX_TYPE_CAPITALIZATION to get the value. 85 */ 86 /** 87 * The capitalization context to be used is unknown (this is the default value). 88 * @stable ICU 51 89 */ 90 UDISPCTX_CAPITALIZATION_NONE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 0, 91 /** 92 * The capitalization context if a date, date symbol or display name is to be 93 * formatted with capitalization appropriate for the middle of a sentence. 94 * @stable ICU 51 95 */ 96 UDISPCTX_CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 1, 97 /** 98 * The capitalization context if a date, date symbol or display name is to be 99 * formatted with capitalization appropriate for the beginning of a sentence. 100 * @stable ICU 51 101 */ 102 UDISPCTX_CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 2, 103 /** 104 * The capitalization context if a date, date symbol or display name is to be 105 * formatted with capitalization appropriate for a user-interface list or menu item. 106 * @stable ICU 51 107 */ 108 UDISPCTX_CAPITALIZATION_FOR_UI_LIST_OR_MENU = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 3, 109 /** 110 * The capitalization context if a date, date symbol or display name is to be 111 * formatted with capitalization appropriate for stand-alone usage such as an 112 * isolated name on a calendar page. 113 * @stable ICU 51 114 */ 115 UDISPCTX_CAPITALIZATION_FOR_STANDALONE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 4, 116 /** 117 * ================================ 118 * DISPLAY_LENGTH can be set to one of UDISPCTX_LENGTH_FULL or 119 * UDISPCTX_LENGTH_SHORT. Use UDisplayContextType UDISPCTX_TYPE_DISPLAY_LENGTH 120 * to get the value. 121 */ 122 /** 123 * A possible setting for DISPLAY_LENGTH: 124 * use full names when generating a locale name, 125 * e.g. "United States" for US. 126 * @stable ICU 54 127 */ 128 UDISPCTX_LENGTH_FULL = (UDISPCTX_TYPE_DISPLAY_LENGTH<<8) + 0, 129 /** 130 * A possible setting for DISPLAY_LENGTH: 131 * use short names when generating a locale name, 132 * e.g. "U.S." for US. 133 * @stable ICU 54 134 */ 135 UDISPCTX_LENGTH_SHORT = (UDISPCTX_TYPE_DISPLAY_LENGTH<<8) + 1 136 }; 137 /** 138 * @stable ICU 51 139 */ 140 typedef enum UDisplayContext UDisplayContext; 141 142 #endif /* #if !UCONFIG_NO_FORMATTING */ 143 144 #endif 145