40 #define FT_COMPONENT trace_gxvfeat
51 typedef struct GXV_feat_DataRec_
60 #define GXV_FEAT_DATA( field ) GXV_TABLE_DATA( feat, field )
89 GXV_TRACE((
" (feature = %u)\n", feature ));
93 GXV_TRACE((
"feature number %d is out of range %d\n",
101 GXV_TRACE((
"feature number %d is in defined range but doesn't exist\n",
110 GXV_TRACE((
"feature number %d is reserved by Apple\n", feature ));
117 GXV_TRACE((
"feature %d: nSettings %d != defined nSettings %d\n",
126 GXV_TRACE((
"exclusive flag %d differs from predefined value\n",
151 GXV_TRACE((
" (nameIndex = %d)\n", nameIndex ));
179 if ( exclusive && ( setting & 1 ) == 0 )
220 if ( settingTable < reserved_size )
233 dynamic_default = (
FT_Byte)( featureFlags &
239 if ( !( dynamic_default < nSettings ) )
247 p = valid->
root->base + settingTable;
248 for ( last_setting = -1, i = 0; i < nSettings; i++ )
292 valid->
root = ftvalid;
296 FT_TRACE3((
"validating `feat' table\n" ));
299 feat->reserved_size = 0;
303 feat->reserved_size += 4 + 2 + 2 + 4;
309 GXV_TRACE((
" (featureNameCount = %d)\n", featureNameCount ));
322 feat->reserved_size += featureNameCount * ( 2 + 2 + 4 + 2 + 2 );
324 for ( last_feature = -1, i = 0; i < featureNameCount; i++ )
332 p += 2 + 2 + 4 + 2 + 2;
GLenum GLsizei GLenum GLenum const GLvoid * table
static void gxv_feat_registry_validate(FT_UShort feature, FT_UShort nSettings, FT_Bool exclusive, GXV_Validator valid)
#define FT_INVALID_FORMAT
#define GXV_NAME_ENTER(name)
#define gxv_feat_registry_length
static void gxv_feat_name_index_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator valid)
static void gxv_feat_setting_validate(FT_Bytes table, FT_Bytes limit, FT_Bool exclusive, GXV_Validator valid)
FT_BEGIN_HEADER typedef unsigned char FT_Bool
#define GXV_SET_ERR_IF_PARANOID(err)
struct GXV_feat_DataRec_ GXV_feat_DataRec
#define FT_TRACE4(varformat)
#define GXV_FEAT_DATA(field)
static GX_Feature_RegistryRec gxv_feat_registry[]
FT_BEGIN_HEADER gxv_feat_validate(FT_Bytes table, FT_Face face, FT_Validator valid)
gxv_sfntName_validate(FT_UShort name_index, FT_UShort min_index, FT_UShort max_index, GXV_Validator valid)
typedefFT_BEGIN_HEADER struct FT_ValidatorRec_ volatile * FT_Validator
#define FT_NEXT_USHORT(buffer)
enum GXV_FeatureFlagsMask_ GXV_FeatureFlagsMask
#define FT_TRACE3(varformat)
#define FT_INVALID_OFFSET
#define IS_PARANOID_VALIDATION
#define FT_NEXT_ULONG(buffer)
#define FT_NEXT_SHORT(buffer)
static void gxv_feat_name_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator valid)
#define GXV_LIMIT_CHECK(_count)
struct GXV_feat_DataRec_ * GXV_feat_Data