summaryrefslogtreecommitdiff
path: root/core/include/fxcrt/fx_arb.h
diff options
context:
space:
mode:
authorLei Zhang <thestig@chromium.org>2015-10-29 15:01:55 -0700
committerLei Zhang <thestig@chromium.org>2015-10-29 15:01:55 -0700
commitee02ea37e8f85920885600d56df706d690e648ff (patch)
tree055bbc66a5c95a8bc75ccc491f73505bb8eb6676 /core/include/fxcrt/fx_arb.h
parent5a88b1131c450dee0500a02f80f0838385e4c4d2 (diff)
downloadpdfium-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.h42
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_