MCPcopy Create free account
hub / github.com/axmolengine/axmol / parseCharacterDefinition

Method parseCharacterDefinition

core/2d/FontFNT.cpp:469–508  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

467}
468
469unsigned int BMFontConfiguration::parseCharacterDefinition(const char* line)
470{
471 unsigned int charID = 0;
472
473 //////////////////////////////////////////////////////////////////////////
474 // line to parse:
475 // char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=44 xadvance=14 page=0 chnl=0
476 //////////////////////////////////////////////////////////////////////////
477
478 // Character ID
479 auto tmp = strstr(line, "id=") + 3;
480 sscanf(tmp, "%u", &charID);
481
482 BMFontDef& characterDefinition = _fontDefDictionary[charID];
483 characterDefinition.charID = charID;
484
485 // Character x
486 tmp = strstr(tmp, "x=") + 2;
487 sscanf(tmp, "%f", &characterDefinition.rect.origin.x);
488 // Character y
489 tmp = strstr(tmp, "y=") + 2;
490 sscanf(tmp, "%f", &characterDefinition.rect.origin.y);
491 // Character width
492 tmp = strstr(tmp, "width=") + 6;
493 sscanf(tmp, "%f", &characterDefinition.rect.size.width);
494 // Character height
495 tmp = strstr(tmp, "height=") + 7;
496 sscanf(tmp, "%f", &characterDefinition.rect.size.height);
497 // Character xoffset
498 tmp = strstr(tmp, "xoffset=") + 8;
499 sscanf(tmp, "%hd", &characterDefinition.xOffset);
500 // Character yoffset
501 tmp = strstr(tmp, "yoffset=") + 8;
502 sscanf(tmp, "%hd", &characterDefinition.yOffset);
503 // Character xadvance
504 tmp = strstr(tmp, "xadvance=") + 9;
505 sscanf(tmp, "%hd", &characterDefinition.xAdvance);
506
507 return charID;
508}
509
510void BMFontConfiguration::parseKerningEntry(const char* line)
511{

Callers 1

parseConfigFileMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected