Changeset 5592
- Timestamp:
- Aug 14, 2006, 10:01:54 PM (18 years ago)
- File:
-
- 1 edited
-
trunk/mapserver/mapdraw.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/mapserver/mapdraw.c
r5426 r5592 28 28 * 29 29 * $Log$ 30 * Revision 1.106 2006/08/15 05:01:54 sdlime 31 * Fixed a couple of query map bugs, 1858 that alters which style is re-colored with POLYGON layers, msDrawQueryMap now respects layer order. 32 * 30 33 * Revision 1.105 2006/05/08 17:41:04 frank 31 34 * fixed layer debug time reporting … … 731 734 732 735 for(i=0; i<map->numlayers; i++) { 733 lp = &(map->layers[ i]);736 lp = &(map->layers[ map->layerorder[i]]); 734 737 735 738 if(lp->postlabelcache) /* wait to draw */ … … 750 753 751 754 for(i=0; i<map->numlayers; i++) { /* for each layer, check for postlabelcache layers */ 752 lp = &(map->layers[ i]);755 lp = &(map->layers[ map->layerorder[i]]); 753 756 754 757 if(!lp->postlabelcache) … … 1116 1119 msClearLayerPenValues(layer); 1117 1120 1118 /* if MS_HILITE, alter the first class (always at least 1 class), and set a MINDISTANCE for the labelObj to avoid duplicates */1121 /* if MS_HILITE, alter the one style (always at least 1 style), and set a MINDISTANCE for the labelObj to avoid duplicates */ 1119 1122 if(map->querymap.style == MS_HILITE) { 1120 1123 for(i=0; i<layer->numclasses; i++) { 1121 if(MS_VALID_COLOR(layer->class[i].styles[layer->class[i].numstyles-1].color)) { 1122 colorbuffer[i] = layer->class[i].styles[layer->class[i].numstyles-1].color; /* save the color from the TOP style */ 1123 layer->class[i].styles[layer->class[i].numstyles-1].color = map->querymap.color; 1124 } else if(MS_VALID_COLOR(layer->class[i].styles[layer->class[i].numstyles-1].outlinecolor)) { 1125 colorbuffer[i] = layer->class[i].styles[layer->class[i].numstyles-1].outlinecolor; /* if no color, save the outlinecolor from the TOP style */ 1126 layer->class[i].styles[layer->class[i].numstyles-1].outlinecolor = map->querymap.color; 1124 if(layer->type == MS_LAYER_POLYGON) { /* alter BOTTOM style since that's almost always the fill */ 1125 if(MS_VALID_COLOR(layer->class[i].styles[0].color)) { 1126 colorbuffer[i] = layer->class[i].styles[0].color; /* save the color from the BOTTOM style */ 1127 layer->class[i].styles[0].color = map->querymap.color; 1128 } else if(MS_VALID_COLOR(layer->class[i].styles[0].outlinecolor)) { 1129 colorbuffer[i] = layer->class[i].styles[0].outlinecolor; /* if no color, save the outlinecolor from the BOTTOM style */ 1130 layer->class[i].styles[0].outlinecolor = map->querymap.color; 1131 } 1132 } else { 1133 if(MS_VALID_COLOR(layer->class[i].styles[layer->class[i].numstyles-1].color)) { 1134 colorbuffer[i] = layer->class[i].styles[layer->class[i].numstyles-1].color; /* save the color from the TOP style */ 1135 layer->class[i].styles[layer->class[i].numstyles-1].color = map->querymap.color; 1136 } else if(MS_VALID_COLOR(layer->class[i].styles[layer->class[i].numstyles-1].outlinecolor)) { 1137 colorbuffer[i] = layer->class[i].styles[layer->class[i].numstyles-1].outlinecolor; /* if no color, save the outlinecolor from the TOP style */ 1138 layer->class[i].styles[layer->class[i].numstyles-1].outlinecolor = map->querymap.color; 1139 } 1127 1140 } 1128 1141 … … 1207 1220 if(map->querymap.style == MS_HILITE) { 1208 1221 for(i=0; i<layer->numclasses; i++) { 1209 if(MS_VALID_COLOR(layer->class[i].styles[layer->class[i].numstyles-1].color)) 1210 layer->class[i].styles[layer->class[i].numstyles-1].color = colorbuffer[i]; 1211 else if(MS_VALID_COLOR(layer->class[i].styles[layer->class[i].numstyles-1].outlinecolor)) 1212 layer->class[i].styles[layer->class[i].numstyles-1].outlinecolor = colorbuffer[i]; /* if no color, restore outlinecolor for the TOP style */ 1222 if(layer->type == MS_LAYER_POLYGON) { 1223 if(MS_VALID_COLOR(layer->class[i].styles[0].color)) 1224 layer->class[i].styles[0].color = colorbuffer[i]; 1225 else if(MS_VALID_COLOR(layer->class[i].styles[0].outlinecolor)) 1226 layer->class[i].styles[0].outlinecolor = colorbuffer[i]; /* if no color, restore outlinecolor for the BOTTOM style */ 1227 } else { 1228 if(MS_VALID_COLOR(layer->class[i].styles[layer->class[i].numstyles-1].color)) 1229 layer->class[i].styles[layer->class[i].numstyles-1].color = colorbuffer[i]; 1230 else if(MS_VALID_COLOR(layer->class[i].styles[layer->class[i].numstyles-1].outlinecolor)) 1231 layer->class[i].styles[layer->class[i].numstyles-1].outlinecolor = colorbuffer[i]; /* if no color, restore outlinecolor for the TOP style */ 1232 } 1213 1233 } 1214 1234 layer->class[i].label.mindistance = mindistancebuffer[i];
Note:
See TracChangeset
for help on using the changeset viewer.
