~ubuntu-branches/ubuntu/quantal/icu/quantal

« back to all changes in this revision

Viewing changes to source/layout/StateTableProcessor.h

  • Committer: Package Import Robot
  • Author(s): Yves Arrouye
  • Date: 2002-03-03 15:31:13 UTC
  • Revision ID: package-import@ubuntu.com-20020303153113-3ssceqlq45xbmbnc
Tags: upstream-2.0-2.1pre20020303
ImportĀ upstreamĀ versionĀ 2.0-2.1pre20020303

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * @(#)StateTableProcessor.h    1.6 00/03/15
 
3
 *
 
4
 * (C) Copyright IBM Corp. 1998, 1999, 2000, 2001 - All Rights Reserved
 
5
 *
 
6
 */
 
7
 
 
8
#ifndef __STATETABLEPROCESSOR_H
 
9
#define __STATETABLEPROCESSOR_H
 
10
 
 
11
#include "LETypes.h"
 
12
#include "MorphTables.h"
 
13
#include "MorphStateTables.h"
 
14
#include "SubtableProcessor.h"
 
15
 
 
16
U_NAMESPACE_BEGIN
 
17
 
 
18
class StateTableProcessor : public SubtableProcessor
 
19
{
 
20
public:
 
21
    void process(LEGlyphID *glyphs, le_int32 *charIndices, le_int32 glyph);
 
22
 
 
23
    virtual void beginStateTable() = 0;
 
24
 
 
25
    virtual ByteOffset processStateEntry(LEGlyphID *glyphs, le_int32 *charIndices, le_int32 &currGlyph,
 
26
        le_int32 glyphCount, EntryTableIndex index) = 0;
 
27
 
 
28
    virtual void endStateTable() = 0;
 
29
 
 
30
protected:
 
31
    StateTableProcessor(const MorphSubtableHeader *morphSubtableHeader);
 
32
    virtual ~StateTableProcessor();
 
33
 
 
34
    StateTableProcessor();
 
35
 
 
36
    le_int16 stateSize;
 
37
    ByteOffset classTableOffset;
 
38
    ByteOffset stateArrayOffset;
 
39
    ByteOffset entryTableOffset;
 
40
 
 
41
    const ClassTable *classTable;
 
42
    le_int16 firstGlyph;
 
43
    le_int16 lastGlyph;
 
44
 
 
45
    const MorphStateTableHeader *stateTableHeader;
 
46
};
 
47
 
 
48
U_NAMESPACE_END
 
49
#endif