/* Copyright (c) Xerox Corporation 1993. All rights reserved. */ /* tiogatxt.ch -- Text subclass that can read Tioga files. David Nichols December, 1990 */ struct tiogatxt←Run { long looks; /* bitmap of looks */ long start; /* start position */ long len; /* length */ }; struct tiogatxt←Env { struct environment *env; /* current environment */ struct environment *env2; /* wrapped around env, maybe */ long pos; /* where to start it */ int comment; /* is this node a comment? */ }; #define tiogatxt←NUMLOOKS 26 class tiogatxt: text { overrides: SetAttributes(struct attributes *atts); Read(FILE *file, long id) returns long; Write(FILE *file, long writeID, int level) returns long; ViewName() returns char *; data: char *reader; /* saved tread←Reader */ struct tiogatxt←Run *runs; /* saved runs during reading */ int nRuns; /* number of them */ int nAllocedRuns; /* space for them */ struct tiogatxt←Env *envs; /* stacked envs during reading */ int nEnvs; /* number of them */ int nAllocedEnvs; /* space for them */ struct style *topStyle; /* special top-level style */ struct style *lookTable[tiogatxt←NUMLOOKS]; /* cached looks for reading */ };