[mapguide-commits] r1361 - trunk/MgDev/Common/Stylization
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Fri Mar 23 18:13:10 EDT 2007
Author: waltweltonlair
Date: 2007-03-23 18:13:10 -0400 (Fri, 23 Mar 2007)
New Revision: 1361
Modified:
trunk/MgDev/Common/Stylization/SE_StyleVisitor.cpp
trunk/MgDev/Common/Stylization/SE_SymbolDefProxies.h
trunk/MgDev/Common/Stylization/StylizationEngine.cpp
trunk/MgDev/Common/Stylization/StylizationEngine.h
Log:
Store PositioningAlgorithm as an SE_String in the new style engine.
Modified: trunk/MgDev/Common/Stylization/SE_StyleVisitor.cpp
===================================================================
--- trunk/MgDev/Common/Stylization/SE_StyleVisitor.cpp 2007-03-23 20:57:03 UTC (rev 1360)
+++ trunk/MgDev/Common/Stylization/SE_StyleVisitor.cpp 2007-03-23 22:13:10 UTC (rev 1361)
@@ -689,13 +689,12 @@
m_symbolization->context = instance->GetSizeContext();
+ ParseStringExpression(instance->GetPositioningAlgorithm(), m_symbolization->positioningAlgorithm);
+
ParseBooleanExpression(instance->GetDrawLast(), m_symbolization->drawLast);
ParseBooleanExpression(instance->GetAddToExclusionRegion(), m_symbolization->addToExclusionRegions);
ParseBooleanExpression(instance->GetCheckExclusionRegion(), m_symbolization->checkExclusionRegions);
- if (!instance->GetPositioningAlgorithm().empty())
- m_symbolization->positioningAlgorithm = instance->GetPositioningAlgorithm();
-
ParseDoubleExpression(instance->GetScaleX(), m_symbolization->scale[0]);
ParseDoubleExpression(instance->GetScaleY(), m_symbolization->scale[1]);
ParseDoubleExpression(instance->GetInsertionOffsetX(), m_symbolization->absOffset[0]);
Modified: trunk/MgDev/Common/Stylization/SE_SymbolDefProxies.h
===================================================================
--- trunk/MgDev/Common/Stylization/SE_SymbolDefProxies.h 2007-03-23 20:57:03 UTC (rev 1360)
+++ trunk/MgDev/Common/Stylization/SE_SymbolDefProxies.h 2007-03-23 22:13:10 UTC (rev 1361)
@@ -213,7 +213,7 @@
SE_Boolean drawLast;
SE_Boolean checkExclusionRegions;
SE_Boolean addToExclusionRegions;
- std::wstring positioningAlgorithm;
+ SE_String positioningAlgorithm;
~SE_Symbolization()
{
Modified: trunk/MgDev/Common/Stylization/StylizationEngine.cpp
===================================================================
--- trunk/MgDev/Common/Stylization/StylizationEngine.cpp 2007-03-23 20:57:03 UTC (rev 1360)
+++ trunk/MgDev/Common/Stylization/StylizationEngine.cpp 2007-03-23 22:13:10 UTC (rev 1361)
@@ -339,9 +339,10 @@
style->rstyle->checkExclusionRegions = sym->checkExclusionRegions.evaluate(executor);
style->rstyle->drawLast = sym->drawLast.evaluate(executor);
- if (!sym->positioningAlgorithm.empty() && sym->positioningAlgorithm != L"Default")
+ const wchar_t* positioningAlgo = sym->positioningAlgorithm.evaluate(executor);
+ if (positioningAlgo && wcslen(positioningAlgo) > 0 && wcscmp(positioningAlgo, L"Default") != 0)
{
- LayoutCustomLabel(sym->positioningAlgorithm, geometry, tmpxform, style, style->rstyle, mm2px);
+ LayoutCustomLabel(positioningAlgo, geometry, tmpxform, style, style->rstyle, mm2px);
}
else
{
@@ -352,20 +353,19 @@
}
}
-void StylizationEngine::LayoutCustomLabel(const std::wstring& positioningAlgo, LineBuffer* geometry, SE_Matrix& xform, SE_Style* style, SE_RenderStyle* rstyle, double mm2px)
+void StylizationEngine::LayoutCustomLabel(const wchar_t* positioningAlgo, LineBuffer* geometry, SE_Matrix& xform, SE_Style* style, SE_RenderStyle* rstyle, double mm2px)
{
- //here we decide which one to call based on the name of the positioning algorithm
- if (positioningAlgo == L"EightSurrounding")
+ // call the appropriate positioning algorithm based on the name
+ if (wcscmp(positioningAlgo, L"EightSurrounding") == 0)
{
SE_PositioningAlgorithms::EightSurrounding(m_serenderer, geometry, xform, style, rstyle, mm2px);
}
- else if (positioningAlgo == L"PathLabels")
+ else if (wcscmp(positioningAlgo, L"PathLabels") == 0)
{
SE_PositioningAlgorithms::PathLabels(m_serenderer, geometry, xform, style, rstyle, mm2px);
}
- else if (positioningAlgo == L"MultipleHighwayShields")
+ else if (wcscmp(positioningAlgo, L"MultipleHighwayShields") == 0)
{
-
SE_PositioningAlgorithms::MultipleHighwaysShields(m_serenderer, geometry, xform, style, rstyle, mm2px,
m_reader, m_resources);
}
Modified: trunk/MgDev/Common/Stylization/StylizationEngine.h
===================================================================
--- trunk/MgDev/Common/Stylization/StylizationEngine.h 2007-03-23 20:57:03 UTC (rev 1360)
+++ trunk/MgDev/Common/Stylization/StylizationEngine.h 2007-03-23 22:13:10 UTC (rev 1361)
@@ -81,9 +81,8 @@
void ClearCache();
private:
+ void LayoutCustomLabel(const wchar_t* positioningAlgo, LineBuffer* geometry, SE_Matrix& xform, SE_Style* style, SE_RenderStyle* rstyle, double mm2px);
- void LayoutCustomLabel(const std::wstring& positioningAlgo, LineBuffer* geometry, SE_Matrix& xform, SE_Style* style, SE_RenderStyle* rstyle, double mm2px);
-
private:
Renderer* m_renderer;
SE_Renderer* m_serenderer;
More information about the mapguide-commits
mailing list