00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef UBIDITRANSFORM_H
00019 #define UBIDITRANSFORM_H
00020
00021 #include "unicode/utypes.h"
00022 #include "unicode/ubidi.h"
00023 #include "unicode/uchar.h"
00024
00025 #if U_SHOW_CPLUSPLUS_API
00026 #include "unicode/localpointer.h"
00027 #endif // U_SHOW_CPLUSPLUS_API
00028
00071 typedef enum {
00076 UBIDI_LOGICAL = 0,
00081 UBIDI_VISUAL
00082 } UBiDiOrder;
00083
00094 typedef enum {
00100 UBIDI_MIRRORING_OFF = 0,
00107 UBIDI_MIRRORING_ON
00108 } UBiDiMirroring;
00109
00115 typedef struct UBiDiTransform UBiDiTransform;
00116
00251 U_CAPI uint32_t U_EXPORT2
00252 ubiditransform_transform(UBiDiTransform *pBiDiTransform,
00253 const UChar *src, int32_t srcLength,
00254 UChar *dest, int32_t destSize,
00255 UBiDiLevel inParaLevel, UBiDiOrder inOrder,
00256 UBiDiLevel outParaLevel, UBiDiOrder outOrder,
00257 UBiDiMirroring doMirroring, uint32_t shapingOptions,
00258 UErrorCode *pErrorCode);
00259
00297 U_CAPI UBiDiTransform* U_EXPORT2
00298 ubiditransform_open(UErrorCode *pErrorCode);
00299
00304 U_CAPI void U_EXPORT2
00305 ubiditransform_close(UBiDiTransform *pBidiTransform);
00306
00307 #if U_SHOW_CPLUSPLUS_API
00308
00309 U_NAMESPACE_BEGIN
00310
00320 U_DEFINE_LOCAL_OPEN_POINTER(LocalUBiDiTransformPointer, UBiDiTransform, ubiditransform_close);
00321
00322 U_NAMESPACE_END
00323
00324 #endif
00325
00326 #endif