18393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius/* 28393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * 38393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * (C) Copyright IBM Corp. and others 1998-2013 - All Rights Reserved 48393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * 58393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius */ 68393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 78393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius#ifndef __SUBTABLEPROCESSOR2_H 88393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius#define __SUBTABLEPROCESSOR2_H 98393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 108393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius/** 118393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * \file 128393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * \internal 138393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius */ 148393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 158393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius#include "LETypes.h" 168393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius#include "MorphTables.h" 178393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 188393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig CorneliusU_NAMESPACE_BEGIN 198393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 208393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Corneliusclass LEGlyphStorage; 218393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 228393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Corneliusclass SubtableProcessor2 : public UMemory { 238393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Corneliuspublic: 2459d709d503bab6e2b61931737e662dd293b40578ccornelius virtual void process(LEGlyphStorage &glyphStorage, LEErrorCode &success) = 0; 258393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius virtual ~SubtableProcessor2(); 268393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 278393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Corneliusprotected: 2859d709d503bab6e2b61931737e662dd293b40578ccornelius SubtableProcessor2(const LEReferenceTo<MorphSubtableHeader2> &morphSubtableHeader, LEErrorCode &success); 298393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 308393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius SubtableProcessor2(); 318393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 328393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius le_uint32 length; 338393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius SubtableCoverage2 coverage; 348393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius FeatureFlags subtableFeatures; 358393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 3659d709d503bab6e2b61931737e662dd293b40578ccornelius const LEReferenceTo<MorphSubtableHeader2> subtableHeader; 378393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 388393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Corneliusprivate: 398393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 408393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius SubtableProcessor2(const SubtableProcessor2 &other); // forbid copying of this class 418393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius SubtableProcessor2 &operator=(const SubtableProcessor2 &other); // forbid copying of this class 428393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius}; 438393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 448393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig CorneliusU_NAMESPACE_END 458393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius#endif 468393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 47