ICU 77.1  77.1
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
ubiditransform.h
Go to the documentation of this file.
1 /*
2 ******************************************************************************
3 *
4 * © 2016 and later: Unicode, Inc. and others.
5 * License & terms of use: http://www.unicode.org/copyright.html
6 *
7 ******************************************************************************
8 * file name: ubiditransform.h
9 * encoding: UTF-8
10 * tab size: 8 (not used)
11 * indentation:4
12 *
13 * created on: 2016jul24
14 * created by: Lina Kemmel
15 *
16 */
17 
18 #ifndef UBIDITRANSFORM_H
19 #define UBIDITRANSFORM_H
20 
21 #include "unicode/utypes.h"
22 #include "unicode/ubidi.h"
23 #include "unicode/uchar.h"
24 
25 #if U_SHOW_CPLUSPLUS_API
26 #include "unicode/localpointer.h"
27 #endif // U_SHOW_CPLUSPLUS_API
28 
71 typedef enum {
83 
94 typedef enum {
109 
115 typedef struct UBiDiTransform UBiDiTransform;
116 
251 U_CAPI uint32_t U_EXPORT2
253  const UChar *src, int32_t srcLength,
254  UChar *dest, int32_t destSize,
255  UBiDiLevel inParaLevel, UBiDiOrder inOrder,
256  UBiDiLevel outParaLevel, UBiDiOrder outOrder,
257  UBiDiMirroring doMirroring, uint32_t shapingOptions,
258  UErrorCode *pErrorCode);
259 
297 U_CAPI UBiDiTransform* U_EXPORT2
299 
304 U_CAPI void U_EXPORT2
306 
307 #if U_SHOW_CPLUSPLUS_API
308 
309 U_NAMESPACE_BEGIN
310 
321 
322 U_NAMESPACE_END
323 
324 #endif
325 
326 #endif
"Smart pointer" class, closes a UBiDiTransform via ubiditransform_close().
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
Definition: localpointer.h:550
C API: Bidi algorithm.
uint8_t UBiDiLevel
UBiDiLevel is the type of the level values in this Bidi implementation.
Definition: ubidi.h:340
U_CAPI void ubiditransform_close(UBiDiTransform *pBidiTransform)
Deallocates the given UBiDiTransform object.
U_CAPI uint32_t ubiditransform_transform(UBiDiTransform *pBiDiTransform, const UChar *src, int32_t srcLength, UChar *dest, int32_t destSize, UBiDiLevel inParaLevel, UBiDiOrder inOrder, UBiDiLevel outParaLevel, UBiDiOrder outOrder, UBiDiMirroring doMirroring, uint32_t shapingOptions, UErrorCode *pErrorCode)
Performs transformation of text from the bidi layout defined by the input ordering scheme to the bidi...
struct UBiDiTransform UBiDiTransform
Forward declaration of the UBiDiTransform structure that stores information used by the layout transf...
U_CAPI UBiDiTransform * ubiditransform_open(UErrorCode *pErrorCode)
Allocates a UBiDiTransform object.
UBiDiOrder
UBiDiOrder indicates the order of text.
@ UBIDI_LOGICAL
0: Constant indicating a logical order.
@ UBIDI_VISUAL
1: Constant indicating a visual order.
UBiDiMirroring
UBiDiMirroring indicates whether or not characters with the "mirrored" property in RTL runs should be...
@ UBIDI_MIRRORING_ON
1: Constant indicating that character mirroring should be performed.
@ UBIDI_MIRRORING_OFF
0: Constant indicating that character mirroring should not be performed.
C API: Unicode Properties.
#define U_CAPI
This is used to declare a function as a public ICU C API.
Definition: umachine.h:110
char16_t UChar
The base type for UTF-16 code units and pointers.
Definition: umachine.h:378
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition: utypes.h:430