Lines Matching full:familydata
39 * The FamilyData structure is passed around by the parser so that each handler
42 struct FamilyData {
43 FamilyData(XML_Parser *parserRef, SkTDArray<FontFamily*> &familiesRef) :
58 FamilyData *familyData = (FamilyData*) data;
60 if (familyData->currentFamily &&
61 (familyData->currentTag == NAMESET_TAG || familyData->currentTag == FILESET_TAG)) {
67 switch (familyData->currentTag) {
69 *(familyData->currentFamily->fNames.append()) = buff;
72 if (familyData->currentFontInfo) {
73 familyData->currentFontInfo->fFileName = buff;
87 void fontFileElementHandler(FamilyData *familyData, const char **attributes) {
109 *(familyData->currentFamily->fFontFileArray.append()) = newFileInfo;
110 familyData->currentFontInfo = newFileInfo;
111 XML_SetCharacterDataHandler(*familyData->parser, textHandler);
119 FamilyData *familyData = (FamilyData*) data;
122 familyData->currentFamily = new FontFamily();
123 familyData->currentFamily->order = -1;
132 familyData->currentFamily->order = value;
136 familyData->currentTag = NAMESET_TAG;
138 familyData->currentTag = FILESET_TAG;
139 } else if (strncmp(tag, "name", len) == 0 && familyData->currentTag == NAMESET_TAG) {
141 XML_SetCharacterDataHandler(*familyData->parser, textHandler);
142 } else if (strncmp(tag, "file", len) == 0 && familyData->currentTag == FILESET_TAG) {
144 fontFileElementHandler(familyData, atts);
153 FamilyData *familyData = (FamilyData*) data;
157 *familyData->families.append() = familyData->currentFamily;
158 familyData->currentFamily = NULL;
160 familyData->currentTag = NO_TAG;
162 familyData->currentTag = NO_TAG;
163 } else if ((strncmp(tag, "name", len) == 0 && familyData->currentTag == NAMESET_TAG) ||
164 (strncmp(tag, "file", len) == 0 && familyData->currentTag == FILESET_TAG)) {
166 XML_SetCharacterDataHandler(*familyData->parser, NULL);
176 FamilyData *familyData = new FamilyData(&parser, families);
177 XML_SetUserData(parser, familyData);