summaryrefslogtreecommitdiff
path: root/Build/source/libs/icu/icu-4.6/layout/ValueRecords.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/icu/icu-4.6/layout/ValueRecords.h')
-rw-r--r--Build/source/libs/icu/icu-4.6/layout/ValueRecords.h72
1 files changed, 72 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-4.6/layout/ValueRecords.h b/Build/source/libs/icu/icu-4.6/layout/ValueRecords.h
new file mode 100644
index 00000000000..83db7b31972
--- /dev/null
+++ b/Build/source/libs/icu/icu-4.6/layout/ValueRecords.h
@@ -0,0 +1,72 @@
+/*
+ *
+ * (C) Copyright IBM Corp. 1998-2005 - All Rights Reserved
+ *
+ */
+
+#ifndef __VALUERECORDS_H
+#define __VALUERECORDS_H
+
+/**
+ * \file
+ * \internal
+ */
+
+#include "LETypes.h"
+#include "LEFontInstance.h"
+#include "OpenTypeTables.h"
+#include "GlyphIterator.h"
+
+U_NAMESPACE_BEGIN
+
+typedef le_uint16 ValueFormat;
+typedef le_int16 ValueRecordField;
+
+struct ValueRecord
+{
+ le_int16 values[ANY_NUMBER];
+
+ le_int16 getFieldValue(ValueFormat valueFormat, ValueRecordField field) const;
+ le_int16 getFieldValue(le_int16 index, ValueFormat valueFormat, ValueRecordField field) const;
+ void adjustPosition(ValueFormat valueFormat, const char *base, GlyphIterator &glyphIterator,
+ const LEFontInstance *fontInstance) const;
+ void adjustPosition(le_int16 index, ValueFormat valueFormat, const char *base, GlyphIterator &glyphIterator,
+ const LEFontInstance *fontInstance) const;
+
+ static le_int16 getSize(ValueFormat valueFormat);
+
+private:
+ static le_int16 getFieldCount(ValueFormat valueFormat);
+ static le_int16 getFieldIndex(ValueFormat valueFormat, ValueRecordField field);
+};
+
+enum ValueRecordFields
+{
+ vrfXPlacement = 0,
+ vrfYPlacement = 1,
+ vrfXAdvance = 2,
+ vrfYAdvance = 3,
+ vrfXPlaDevice = 4,
+ vrfYPlaDevice = 5,
+ vrfXAdvDevice = 6,
+ vrfYAdvDevice = 7
+};
+
+enum ValueFormatBits
+{
+ vfbXPlacement = 0x0001,
+ vfbYPlacement = 0x0002,
+ vfbXAdvance = 0x0004,
+ vfbYAdvance = 0x0008,
+ vfbXPlaDevice = 0x0010,
+ vfbYPlaDevice = 0x0020,
+ vfbXAdvDevice = 0x0040,
+ vfbYAdvDevice = 0x0080,
+ vfbReserved = 0xFF00,
+ vfbAnyDevice = vfbXPlaDevice + vfbYPlaDevice + vfbXAdvDevice + vfbYAdvDevice
+};
+
+U_NAMESPACE_END
+#endif
+
+