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 #include "unicode/localpointer.h"
00025
00063 typedef enum {
00068 UBIDI_LOGICAL = 0,
00073 UBIDI_VISUAL
00074 } UBiDiOrder;
00075
00086 typedef enum {
00092 UBIDI_MIRRORING_OFF = 0,
00099 UBIDI_MIRRORING_ON
00100 } UBiDiMirroring;
00101
00107 typedef struct UBiDiTransform UBiDiTransform;
00108
00243 U_STABLE uint32_t U_EXPORT2
00244 ubiditransform_transform(UBiDiTransform *pBiDiTransform,
00245 const UChar *src, int32_t srcLength,
00246 UChar *dest, int32_t destSize,
00247 UBiDiLevel inParaLevel, UBiDiOrder inOrder,
00248 UBiDiLevel outParaLevel, UBiDiOrder outOrder,
00249 UBiDiMirroring doMirroring, uint32_t shapingOptions,
00250 UErrorCode *pErrorCode);
00251
00289 U_STABLE UBiDiTransform* U_EXPORT2
00290 ubiditransform_open(UErrorCode *pErrorCode);
00291
00296 U_STABLE void U_EXPORT2
00297 ubiditransform_close(UBiDiTransform *pBidiTransform);
00298
00299 #if U_SHOW_CPLUSPLUS_API
00300
00301 U_NAMESPACE_BEGIN
00302
00312 U_DEFINE_LOCAL_OPEN_POINTER(LocalUBiDiTransformPointer, UBiDiTransform, ubiditransform_close);
00313
00314 U_NAMESPACE_END
00315
00316 #endif
00317
00318 #endif