| 4441 | } |
| 4442 | |
| 4443 | int loadLegend(legendObj *legend, mapObj *map) |
| 4444 | { |
| 4445 | legend->map = (mapObj *)map; |
| 4446 | |
| 4447 | for(;;) { |
| 4448 | switch(msyylex()) { |
| 4449 | case(EOF): |
| 4450 | msSetError(MS_EOFERR, NULL, "loadLegend()"); |
| 4451 | return(-1); |
| 4452 | case(END): |
| 4453 | legend->label.position = MS_XY; /* overrides go here */ |
| 4454 | return(0); |
| 4455 | break; |
| 4456 | case(IMAGECOLOR): |
| 4457 | if(loadColor(&(legend->imagecolor), NULL) != MS_SUCCESS) return(-1); |
| 4458 | break; |
| 4459 | case(INTERLACE): |
| 4460 | if((legend->interlace = getSymbol(2, MS_ON,MS_OFF)) == -1) return(-1); |
| 4461 | break; |
| 4462 | case(KEYSIZE): |
| 4463 | if(getInteger(&(legend->keysizex)) == -1) return(-1); |
| 4464 | if(getInteger(&(legend->keysizey)) == -1) return(-1); |
| 4465 | break; |
| 4466 | case(KEYSPACING): |
| 4467 | if(getInteger(&(legend->keyspacingx)) == -1) return(-1); |
| 4468 | if(getInteger(&(legend->keyspacingy)) == -1) return(-1); |
| 4469 | break; |
| 4470 | case(LABEL): |
| 4471 | if(loadLabel(&(legend->label)) == -1) return(-1); |
| 4472 | legend->label.angle = 0; /* force */ |
| 4473 | break; |
| 4474 | case(LEGEND): |
| 4475 | break; /* for string loads */ |
| 4476 | case(OUTLINECOLOR): |
| 4477 | if(loadColor(&(legend->outlinecolor), NULL) != MS_SUCCESS) return(-1); |
| 4478 | break; |
| 4479 | case(POSITION): |
| 4480 | if((legend->position = getSymbol(6, MS_UL,MS_UR,MS_LL,MS_LR,MS_UC,MS_LC)) == -1) return(-1); |
| 4481 | break; |
| 4482 | case(POSTLABELCACHE): |
| 4483 | if((legend->postlabelcache = getSymbol(2, MS_TRUE,MS_FALSE)) == -1) return(-1); |
| 4484 | break; |
| 4485 | case(STATUS): |
| 4486 | if((legend->status = getSymbol(3, MS_ON,MS_OFF,MS_EMBED)) == -1) return(-1); |
| 4487 | break; |
| 4488 | case(TRANSPARENT): |
| 4489 | if((legend->transparent = getSymbol(2, MS_ON,MS_OFF)) == -1) return(-1); |
| 4490 | break; |
| 4491 | case(TEMPLATE): |
| 4492 | if(getString(&legend->template) == MS_FAILURE) return(-1); |
| 4493 | break; |
| 4494 | default: |
| 4495 | if(strlen(msyystring_buffer) > 0) { |
| 4496 | msSetError(MS_IDENTERR, "Parsing error near (%s):(line %d)", "loadLegend()", msyystring_buffer, msyylineno); |
| 4497 | return(-1); |
| 4498 | } else { |
| 4499 | return(0); /* end of a string, not an error */ |
| 4500 | } |
no test coverage detected