MCPcopy Index your code
hub / github.com/MapServer/MapServer / loadLabel

Function loadLabel

mapfile.c:1678–1901  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1676}
1677
1678static int loadLabel(labelObj *label)
1679{
1680 int symbol;
1681
1682 for(;;) {
1683 switch(msyylex()) {
1684 case(ANGLE):
1685 if((symbol = getSymbol(5, MS_NUMBER,MS_AUTO,MS_AUTO2,MS_FOLLOW,MS_BINDING)) == -1)
1686 return(-1);
1687
1688 if(symbol == MS_NUMBER)
1689 label->angle = msyynumber;
1690 else if(symbol == MS_BINDING) {
1691 if (label->bindings[MS_LABEL_BINDING_ANGLE].item != NULL)
1692 msFree(label->bindings[MS_LABEL_BINDING_ANGLE].item);
1693 label->bindings[MS_LABEL_BINDING_ANGLE].item = msStrdup(msyystring_buffer);
1694 label->numbindings++;
1695 } else if ( symbol == MS_FOLLOW ) {
1696#ifndef GD_HAS_FTEX_XSHOW
1697 msSetError(MS_IDENTERR, "Keyword FOLLOW is not valid without TrueType font support and GD version 2.0.29 or higher.", "loadlabel()");
1698 return(-1);
1699#else
1700 label->anglemode = MS_FOLLOW;
1701#endif
1702 } else if ( symbol == MS_AUTO2 ) {
1703 label->anglemode = MS_AUTO2;
1704 } else
1705 label->anglemode = MS_AUTO;
1706 break;
1707 case(ALIGN):
1708 if((label->align = getSymbol(3, MS_ALIGN_LEFT,MS_ALIGN_CENTER,MS_ALIGN_RIGHT)) == -1) return(-1);
1709 break;
1710 case(ANTIALIAS):
1711 if((label->antialias = getSymbol(2, MS_TRUE,MS_FALSE)) == -1)
1712 return(-1);
1713 break;
1714 case(BUFFER):
1715 if(getInteger(&(label->buffer)) == -1) return(-1);
1716 break;
1717 case(COLOR):
1718 if(loadColor(&(label->color), &(label->bindings[MS_LABEL_BINDING_COLOR])) != MS_SUCCESS) return(-1);
1719 if(label->bindings[MS_LABEL_BINDING_COLOR].item) label->numbindings++;
1720 break;
1721 case(ENCODING):
1722 if((getString(&label->encoding)) == MS_FAILURE) return(-1);
1723 break;
1724 case(END):
1725 return(0);
1726 break;
1727 case(EOF):
1728 msSetError(MS_EOFERR, NULL, "loadLabel()");
1729 return(-1);
1730 case(FONT):
1731#if defined (USE_GD_TTF) || defined (USE_GD_FT)
1732 if((symbol = getSymbol(2, MS_STRING, MS_BINDING)) == -1)
1733 return(-1);
1734
1735 if(symbol == MS_STRING) {

Callers 4

msUpdateLabelFromStringFunction · 0.85
loadClassFunction · 0.85
loadLegendFunction · 0.85
loadScalebarFunction · 0.85

Calls 13

getSymbolFunction · 0.85
msFreeFunction · 0.85
msStrdupFunction · 0.85
msSetErrorFunction · 0.85
getIntegerFunction · 0.85
loadColorFunction · 0.85
getStringFunction · 0.85
getDoubleFunction · 0.85
strdupFunction · 0.85
msGrowLabelStylesFunction · 0.85
initStyleFunction · 0.85
loadStyleFunction · 0.85

Tested by

no test coverage detected