~alinuxninja/nginx-edge/trunk

« back to all changes in this revision

Viewing changes to debian/modules/ngx_pagespeed/psol/include/third_party/icu/source/layout/LookupProcessor.h

  • Committer: Vivian
  • Date: 2015-12-04 18:20:11 UTC
  • Revision ID: git-v1:a36f2bc32e884f7473b3a47040e5411306144d7d
* Do not extract psol.tar.gz

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * %W% %E%
3
 
 *
4
 
 * (C) Copyright IBM Corp. 1998-2008 - All Rights Reserved
5
 
 *
6
 
 */
7
 
 
8
 
#ifndef __LOOKUPPROCESSOR_H
9
 
#define __LOOKUPPROCESSOR_H
10
 
 
11
 
/**
12
 
 * \file
13
 
 * \internal
14
 
 */
15
 
 
16
 
#include "LETypes.h"
17
 
#include "LEFontInstance.h"
18
 
#include "OpenTypeTables.h"
19
 
//#include "Lookups.h"
20
 
//#include "Features.h"
21
 
 
22
 
U_NAMESPACE_BEGIN
23
 
 
24
 
class  LEFontInstance;
25
 
class  LEGlyphStorage;
26
 
class  GlyphIterator;
27
 
class  GlyphPositionAdjustments;
28
 
struct FeatureTable;
29
 
struct FeatureListTable;
30
 
struct GlyphDefinitionTableHeader;
31
 
struct LookupSubtable;
32
 
struct LookupTable;
33
 
 
34
 
class LookupProcessor : public UMemory {
35
 
public:
36
 
    le_int32 process(LEGlyphStorage &glyphStorage, GlyphPositionAdjustments *glyphPositionAdjustments,
37
 
                 le_bool rightToLeft, const GlyphDefinitionTableHeader *glyphDefinitionTableHeader, const LEFontInstance *fontInstance, LEErrorCode& success) const;
38
 
 
39
 
    le_uint32 applyLookupTable(const LookupTable *lookupTable, GlyphIterator *glyphIterator, const LEFontInstance *fontInstance, LEErrorCode& success) const;
40
 
 
41
 
    le_uint32 applySingleLookup(le_uint16 lookupTableIndex, GlyphIterator *glyphIterator, const LEFontInstance *fontInstance, LEErrorCode& success) const;
42
 
 
43
 
    virtual le_uint32 applySubtable(const LookupSubtable *lookupSubtable, le_uint16 subtableType,
44
 
        GlyphIterator *glyphIterator, const LEFontInstance *fontInstance, LEErrorCode& success) const = 0;
45
 
 
46
 
    virtual ~LookupProcessor();
47
 
 
48
 
protected:
49
 
    LookupProcessor(const char *baseAddress,
50
 
        Offset scriptListOffset, 
51
 
        Offset featureListOffset, 
52
 
        Offset lookupListOffset,
53
 
        LETag scriptTag, 
54
 
        LETag languageTag, 
55
 
        const FeatureMap *featureMap, 
56
 
        le_int32 featureMapCount, 
57
 
        le_bool orderFeatures, 
58
 
        LEErrorCode& success);
59
 
 
60
 
    LookupProcessor();
61
 
 
62
 
    le_int32 selectLookups(const FeatureTable *featureTable, FeatureMask featureMask, le_int32 order);
63
 
 
64
 
    const LookupListTable   *lookupListTable;
65
 
    const FeatureListTable  *featureListTable;
66
 
 
67
 
    FeatureMask            *lookupSelectArray;
68
 
 
69
 
    le_uint16               *lookupOrderArray;
70
 
    le_uint32               lookupOrderCount;
71
 
 
72
 
private:
73
 
 
74
 
    LookupProcessor(const LookupProcessor &other); // forbid copying of this class
75
 
    LookupProcessor &operator=(const LookupProcessor &other); // forbid copying of this class
76
 
};
77
 
 
78
 
U_NAMESPACE_END
79
 
#endif