diff options
author | Lei Zhang <thestig@chromium.org> | 2015-10-29 15:01:55 -0700 |
---|---|---|
committer | Lei Zhang <thestig@chromium.org> | 2015-10-29 15:01:55 -0700 |
commit | ee02ea37e8f85920885600d56df706d690e648ff (patch) | |
tree | 055bbc66a5c95a8bc75ccc491f73505bb8eb6676 /core/include/fxcrt/fx_arb.h | |
parent | 5a88b1131c450dee0500a02f80f0838385e4c4d2 (diff) | |
download | pdfium-ee02ea37e8f85920885600d56df706d690e648ff.tar.xz |
XFA: Manual merge of Clean up IFX_BidiChar
- Replace IFX_BidiChar with just CFX_BidiChar
- Document implementation
- Change out parameters to pointers
- Remove dead code
- Add an enum for bidi directions
- Move several externs to a header
- Add unit tests
Original CL: https://codereview.chromium.org/1197643002
This version does not remove fx_arb.h and fx_arabic.h, as there is code
on the XFA branch that still uses parts of it.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1423103002 .
Diffstat (limited to 'core/include/fxcrt/fx_arb.h')
-rw-r--r-- | core/include/fxcrt/fx_arb.h | 42 |
1 files changed, 14 insertions, 28 deletions
diff --git a/core/include/fxcrt/fx_arb.h b/core/include/fxcrt/fx_arb.h index d3612db4e7..6760ef3d79 100644 --- a/core/include/fxcrt/fx_arb.h +++ b/core/include/fxcrt/fx_arb.h @@ -11,39 +11,35 @@ #include "fx_ucd.h" class IFX_ArabicChar; -class IFX_BidiChar; -#ifdef __cplusplus -extern "C" { -#endif -typedef struct _FX_ARBFORMTABLE { + +struct FX_ARBFORMTABLE { FX_WCHAR wIsolated; FX_WCHAR wFinal; FX_WCHAR wInitial; FX_WCHAR wMedial; -} FX_ARBFORMTABLE, *FX_LPARBFORMTABLE; -typedef FX_ARBFORMTABLE const* FX_LPCARBFORMTABLE; -typedef struct _FX_ARAALEF { +}; + +struct FX_ARAALEF { FX_WCHAR wAlef; FX_WCHAR wIsolated; -} FX_ARAALEF, *FX_LPARAALEF; -typedef FX_ARAALEF const* FX_LPCARAALEF; -typedef struct _FX_ARASHADDA { +}; + +struct FX_ARASHADDA { FX_WCHAR wShadda; FX_WCHAR wIsolated; -} FX_ARASHADDA, *FX_LPARASHADDA; -typedef FX_ARASHADDA const* FX_LPCARASHADDA; -FX_LPCARBFORMTABLE FX_GetArabicFormTable(FX_WCHAR unicode); +}; + +const FX_ARBFORMTABLE* FX_GetArabicFormTable(FX_WCHAR unicode); FX_WCHAR FX_GetArabicFromAlefTable(FX_WCHAR alef); FX_WCHAR FX_GetArabicFromShaddaTable(FX_WCHAR shadda); -#ifdef __cplusplus -}; -#endif + enum FX_ARBPOSITION { FX_ARBPOSITION_Isolated = 0, FX_ARBPOSITION_Final, FX_ARBPOSITION_Initial, FX_ARBPOSITION_Medial, }; + class IFX_ArabicChar { public: static IFX_ArabicChar* Create(); @@ -58,6 +54,7 @@ class IFX_ArabicChar { const CFX_Char* prev, const CFX_Char* next) const = 0; }; + void FX_BidiLine(CFX_WideString& wsText, int32_t iBaseLevel = 0); void FX_BidiLine(CFX_TxtCharArray& chars, int32_t iCount, @@ -65,16 +62,5 @@ void FX_BidiLine(CFX_TxtCharArray& chars, void FX_BidiLine(CFX_RTFCharArray& chars, int32_t iCount, int32_t iBaseLevel = 0); -class IFX_BidiChar { - public: - static IFX_BidiChar* Create(); - virtual ~IFX_BidiChar() {} - - virtual void SetPolicy(FX_BOOL bSeparateNeutral = TRUE) = 0; - virtual FX_BOOL AppendChar(FX_WCHAR wch) = 0; - virtual FX_BOOL EndChar() = 0; - virtual int32_t GetBidiInfo(int32_t& iStart, int32_t& iCount) = 0; - virtual void Reset() = 0; -}; #endif // CORE_INCLUDE_FXCRT_FX_ARB_H_ |