ThinkGeo.com    |     Documentation    |     Premium Support

Drawing TextStyle with mask issue

Hello,


I have an issue with the TextStyle mask.

This is my code:


TextStyle textStyle = new TextStyle();

textStyle.TextColumnName = "NAME";

textStyle.Mask = new AreaStyle(new GeoSolidBrush(GeoColor.StandardColors.Blue));

textStyle.Font = new GeoFont("Arial", 12);

textStyle.TextSolidBrush = new GeoSolidBrush(GeoColor.StandardColors.Red);

textStyle.MaskMargin = 3;

(...)

ZoomLevel zoomLevel = featureLayer.ZoomLevelSet.CustomZoomLevels[0];

zoomLevel.CustomStyles.Add(textStyle);


When I assign textStyle to the feature layer which consist of line shapes, then text is drawn correcly (above line shapes) but Mask is drawn below line shapes (the drawing order is: mask -> line_shape -> text label).


How can I achieve the appropriate text style drawing with the following drawing order: line_shape -> mask -> text label?


Thanks for your answer.



Krzysztof, 
  
 Thanks for you post, are you adding your TextStyle to the CustomStyles collection after the LineStyle?  The order you add them to the customstyles collection is the order they will be rendered. 
  
 I ran a test with the latest version of 5.5 and the mask was rendering in the correct order.  What version are you using? 
  
 Thanks!

Clint,


 
Thanks for the reply. Yes I am adding TextStyle to the CustomStyles collection after the LineStyle, but I am using version 4.5 so maybe that is the reason.
 
Thanks!

 



Krzysztof,


  I compared myself with Mask between the version 4.5 and 5.5, and it can clearly be seen that the mask bug has been fixed in the version 5.5 as you can see in the two comparative screenshots. So, I suggest you get the latest 5.5 release version of the desktop Edition. Thank you.


With 4.5, the mask is incorreclty drawn below the line.


 



 


With 5.5, the mask is correcttly drawn between the line and the text.