Lines Matching refs:glyphSet
283 AddGlyph(GlyphSetPtr glyphSet, GlyphPtr glyph, Glyph id)
288 CheckDuplicates(&globalGlyphs[glyphSet->fdepth], "AddGlyph top global");
291 gr = FindGlyphRef(&globalGlyphs[glyphSet->fdepth], signature,
299 globalGlyphs[glyphSet->fdepth].tableEntries++;
303 gr = FindGlyphRef(&glyphSet->hash, id, FALSE, 0);
306 FreeGlyph(gr->glyph, glyphSet->fdepth);
308 glyphSet->hash.tableEntries++;
311 CheckDuplicates(&globalGlyphs[glyphSet->fdepth], "AddGlyph bottom");
315 DeleteGlyph(GlyphSetPtr glyphSet, Glyph id)
320 gr = FindGlyphRef(&glyphSet->hash, id, FALSE, 0);
324 glyphSet->hash.tableEntries--;
325 FreeGlyph(glyph, glyphSet->fdepth);
332 FindGlyph(GlyphSetPtr glyphSet, Glyph id)
336 glyph = FindGlyphRef(&glyphSet->hash, id, FALSE, 0)->glyph;
438 ResizeGlyphSet(GlyphSetPtr glyphSet, CARD32 change)
440 return (ResizeGlyphHash(&glyphSet->hash, change, FALSE) &&
441 ResizeGlyphHash(&globalGlyphs[glyphSet->fdepth], change, TRUE));
447 GlyphSetPtr glyphSet;
454 glyphSet = dixAllocateObjectWithPrivates(GlyphSetRec, PRIVATE_GLYPHSET);
455 if (!glyphSet)
458 if (!AllocateGlyphHash(&glyphSet->hash, &glyphHashSets[0])) {
459 free(glyphSet);
462 glyphSet->refcnt = 1;
463 glyphSet->fdepth = fdepth;
464 glyphSet->format = format;
465 return glyphSet;
471 GlyphSetPtr glyphSet = (GlyphSetPtr) value;
473 if (--glyphSet->refcnt == 0) {
474 CARD32 i, tableSize = glyphSet->hash.hashSet->size;
475 GlyphRefPtr table = glyphSet->hash.table;
481 FreeGlyph(glyph, glyphSet->fdepth);
483 if (!globalGlyphs[glyphSet->fdepth].tableEntries) {
484 free(globalGlyphs[glyphSet->fdepth].table);
485 globalGlyphs[glyphSet->fdepth].table = 0;
486 globalGlyphs[glyphSet->fdepth].hashSet = 0;
489 ResizeGlyphHash(&globalGlyphs[glyphSet->fdepth], 0, TRUE);
491 dixFreeObjectWithPrivates(glyphSet, PRIVATE_GLYPHSET);