Loading...
Searching...
No Matches
ubiditransform.h
Go to the documentation of this file.
/*
******************************************************************************
*
* © 2016 and later: Unicode, Inc. and others.
* License & terms of use: http://www.unicode.org/copyright.html
*
******************************************************************************
* file name: ubiditransform.h
* encoding: UTF-8
* tab size: 8 (not used)
* indentation:4
*
* created on: 2016jul24
* created by: Lina Kemmel
*
*/
#ifndef UBIDITRANSFORM_H
#define UBIDITRANSFORM_H
#include "unicode/utypes.h"
#include "unicode/ubidi.h"
#include "unicode/uchar.h"
#if U_SHOW_CPLUSPLUS_API
#include "unicode/localpointer.h"
#endif // U_SHOW_CPLUSPLUS_API
typedef enum {
UBIDI_LOGICAL = 0,
UBIDI_VISUAL
} UBiDiOrder;
typedef enum {
UBIDI_MIRRORING_OFF = 0,
UBIDI_MIRRORING_ON
} UBiDiMirroring;
typedef struct UBiDiTransform UBiDiTransform;
U_CAPI uint32_t U_EXPORT2
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);
U_CAPI UBiDiTransform* U_EXPORT2
ubiditransform_open(UErrorCode *pErrorCode);
U_CAPI void U_EXPORT2
ubiditransform_close(UBiDiTransform *pBidiTransform);
#if U_SHOW_CPLUSPLUS_API
U_NAMESPACE_BEGIN
U_DEFINE_LOCAL_OPEN_POINTER(LocalUBiDiTransformPointer, UBiDiTransform, ubiditransform_close);
U_NAMESPACE_END
#endif
#endif
LocalUBiDiTransformPointer
"Smart pointer" class, closes a UBiDiTransform via ubiditransform_close().
localpointer.h
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
U_DEFINE_LOCAL_OPEN_POINTER
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
Definition localpointer.h:548
ubidi.h
C API: Bidi algorithm.
UBiDiLevel
uint8_t UBiDiLevel
UBiDiLevel is the type of the level values in this Bidi implementation.
Definition ubidi.h:340
ubiditransform_close
U_CAPI void ubiditransform_close(UBiDiTransform *pBidiTransform)
Deallocates the given UBiDiTransform object.
ubiditransform_transform
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...
UBiDiTransform
struct UBiDiTransform UBiDiTransform
Forward declaration of the UBiDiTransform structure that stores information used by the layout transf...
Definition ubiditransform.h:115
UBiDiOrder
UBiDiOrder
UBiDiOrder indicates the order of text.
Definition ubiditransform.h:71
UBIDI_LOGICAL
@ UBIDI_LOGICAL
0: Constant indicating a logical order.
Definition ubiditransform.h:76
UBIDI_VISUAL
@ UBIDI_VISUAL
1: Constant indicating a visual order.
Definition ubiditransform.h:81
UBiDiMirroring
UBiDiMirroring
UBiDiMirroring indicates whether or not characters with the "mirrored" property in RTL runs should be...
Definition ubiditransform.h:94
UBIDI_MIRRORING_ON
@ UBIDI_MIRRORING_ON
1: Constant indicating that character mirroring should be performed.
Definition ubiditransform.h:107
UBIDI_MIRRORING_OFF
@ UBIDI_MIRRORING_OFF
0: Constant indicating that character mirroring should not be performed.
Definition ubiditransform.h:100
ubiditransform_open
U_CAPI UBiDiTransform * ubiditransform_open(UErrorCode *pErrorCode)
Allocates a UBiDiTransform object.
uchar.h
C API: Unicode Properties.
UChar
char16_t UChar
The base type for UTF-16 code units and pointers.
Definition umachine.h:400
U_CAPI
#define U_CAPI
This is used to declare a function as a public ICU C API.
Definition umachine.h:110
utypes.h
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition utypes.h:509