[mapguide-commits] r4354 - trunk/MgDev/Common/Stylization

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Sun Nov 22 02:43:36 EST 2009


Author: waltweltonlair
Date: 2009-11-22 02:43:34 -0500 (Sun, 22 Nov 2009)
New Revision: 4354

Modified:
   trunk/MgDev/Common/Stylization/SE_PositioningAlgorithms.cpp
   trunk/MgDev/Common/Stylization/SE_Renderer.cpp
Log:
Fix #1158: SymbolInstance.CheckExclusionRegion setting is not honored

Updated the code to take into account this setting.  If CheckExclusionRegion is false we
simply need to use overpost type RS_OverpostType_All instead of RS_OverpostType_AllFit.


Modified: trunk/MgDev/Common/Stylization/SE_PositioningAlgorithms.cpp
===================================================================
--- trunk/MgDev/Common/Stylization/SE_PositioningAlgorithms.cpp	2009-11-22 05:32:25 UTC (rev 4353)
+++ trunk/MgDev/Common/Stylization/SE_PositioningAlgorithms.cpp	2009-11-22 07:43:34 UTC (rev 4354)
@@ -473,7 +473,8 @@
         SE_RenderText* rt = (SE_RenderText*)rstyle->symbol[0];
 
         RS_LabelInfo info(0.0, 0.0, 0.0, 0.0, RS_Units_Device, rt->tdef);
-        return se_renderer->ProcessLabelGroup(&info, 1, rt->content, RS_OverpostType_AllFit, rstyle->addToExclusionRegion, geometry, 0.5);
+        RS_OverpostType overpostType = rstyle->checkExclusionRegion? RS_OverpostType_AllFit : RS_OverpostType_All;
+        return se_renderer->ProcessLabelGroup(&info, 1, rt->content, overpostType, rstyle->addToExclusionRegion, geometry, 0.5);
     }
 
     se_renderer->ProcessLineLabels(geometry, (SE_RenderLineStyle*)rstyle);
@@ -716,7 +717,8 @@
                         SE_RenderStyle* clonedStyle = se_renderer->CloneRenderStyle(rlStyle);
 
                         SE_LabelInfo info(symxf.x2, symxf.y2, RS_Units_Device, angleRad, clonedStyle);
-                        se_renderer->ProcessSELabelGroup(&info, 1, RS_OverpostType_AllFit, rlStyle->addToExclusionRegion, geometry);
+                        RS_OverpostType overpostType = rlStyle->checkExclusionRegion? RS_OverpostType_AllFit : RS_OverpostType_All;
+                        se_renderer->ProcessSELabelGroup(&info, 1, overpostType, rlStyle->addToExclusionRegion, geometry);
                     }
                     else
                     {

Modified: trunk/MgDev/Common/Stylization/SE_Renderer.cpp
===================================================================
--- trunk/MgDev/Common/Stylization/SE_Renderer.cpp	2009-11-22 05:32:25 UTC (rev 4353)
+++ trunk/MgDev/Common/Stylization/SE_Renderer.cpp	2009-11-22 07:43:34 UTC (rev 4354)
@@ -488,7 +488,8 @@
     SE_RenderStyle* clonedStyle = CloneRenderStyle(style);
 
     SE_LabelInfo info(xform.x2, xform.y2, RS_Units_Device, angleRad, clonedStyle);
-    ProcessSELabelGroup(&info, 1, RS_OverpostType_AllFit, style->addToExclusionRegion, geom);
+    RS_OverpostType overpostType = style->checkExclusionRegion? RS_OverpostType_AllFit : RS_OverpostType_All;
+    ProcessSELabelGroup(&info, 1, overpostType, style->addToExclusionRegion, geom);
 }
 
 



More information about the mapguide-commits mailing list