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
00068 typedef enum {
00073 UBIDI_LOGICAL = 0,
00078 UBIDI_VISUAL
00079 } UBiDiOrder;
00080
00091 typedef enum {
00097 UBIDI_MIRRORING_OFF = 0,
00104 UBIDI_MIRRORING_ON
00105 } UBiDiMirroring;
00106
00112 typedef struct UBiDiTransform UBiDiTransform;
00113
00248 U_STABLE uint32_t U_EXPORT2
00249 ubiditransform_transform(UBiDiTransform *pBiDiTransform,
00250 const UChar *src, int32_t srcLength,
00251 UChar *dest, int32_t destSize,
00252 UBiDiLevel inParaLevel, UBiDiOrder inOrder,
00253 UBiDiLevel outParaLevel, UBiDiOrder outOrder,
00254 UBiDiMirroring doMirroring, uint32_t shapingOptions,
00255 UErrorCode *pErrorCode);
00256
00294 U_STABLE UBiDiTransform* U_EXPORT2
00295 ubiditransform_open(UErrorCode *pErrorCode);
00296
00301 U_STABLE void U_EXPORT2
00302 ubiditransform_close(UBiDiTransform *pBidiTransform);
00303
00304 #if U_SHOW_CPLUSPLUS_API
00305
00306 U_NAMESPACE_BEGIN
00307
00317 U_DEFINE_LOCAL_OPEN_POINTER(LocalUBiDiTransformPointer, UBiDiTransform, ubiditransform_close);
00318
00319 U_NAMESPACE_END
00320
00321 #endif
00322
00323 #endif