1/*
2 *
3 * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
4 *
5 */
6
7#ifndef __ANCHORTABLES_H
8#define __ANCHORTABLES_H
9
10/**
11 * \file
12 * \internal
13 */
14
15#include "LETypes.h"
16#include "LEFontInstance.h"
17#include "OpenTypeTables.h"
18
19U_NAMESPACE_BEGIN
20
21struct AnchorTable
22{
23    le_uint16  anchorFormat;
24    le_int16   xCoordinate;
25    le_int16   yCoordinate;
26
27    void    getAnchor(LEGlyphID glyphID, const LEFontInstance *fontInstance,
28                      LEPoint &anchor) const;
29};
30
31struct Format1AnchorTable : AnchorTable
32{
33    void getAnchor(const LEFontInstance *fontInstance, LEPoint &anchor) const;
34};
35
36struct Format2AnchorTable : AnchorTable
37{
38    le_uint16  anchorPoint;
39
40    void getAnchor(LEGlyphID glyphID, const LEFontInstance *fontInstance, LEPoint &anchor) const;
41};
42
43struct Format3AnchorTable : AnchorTable
44{
45    Offset  xDeviceTableOffset;
46    Offset  yDeviceTableOffset;
47
48    void getAnchor(const LEFontInstance *fontInstance, LEPoint &anchor) const;
49};
50
51U_NAMESPACE_END
52#endif
53
54
55