[mapguide-commits] r1282 - in trunk/MgDev: Common/Stylization
Server/src/Services/Mapping
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Mon Mar 19 08:44:03 EDT 2007
Author: waltweltonlair
Date: 2007-03-19 08:44:03 -0400 (Mon, 19 Mar 2007)
New Revision: 1282
Modified:
trunk/MgDev/Common/Stylization/SE_StyleVisitor.cpp
trunk/MgDev/Common/Stylization/SE_SymbolManager.h
trunk/MgDev/Server/src/Services/Mapping/SEMgSymbolManager.h
Log:
Add support for inlined symbols in the layer definition
Modified: trunk/MgDev/Common/Stylization/SE_StyleVisitor.cpp
===================================================================
--- trunk/MgDev/Common/Stylization/SE_StyleVisitor.cpp 2007-03-18 22:14:26 UTC (rev 1281)
+++ trunk/MgDev/Common/Stylization/SE_StyleVisitor.cpp 2007-03-19 12:44:03 UTC (rev 1282)
@@ -552,6 +552,8 @@
for (int i = 0; i < len; i++)
{
SimpleSymbol* sym = symbols->GetAt(i);
+
+ // get the symbol definition, either inlined or by reference
SimpleSymbolDefinition* def = sym->GetSymbolDefinition();
if (def == NULL)
{
@@ -584,12 +586,22 @@
for (int i = 0; i < nSymbols; i++)
{
SymbolInstance* instance = symbols->GetAt(i);
- SymbolDefinition* sd = m_resources? m_resources->GetSymbolDefinition(instance->GetSymbolReference().c_str()) : NULL;
- if (sd == NULL)
- continue;
- m_symbolization = new SE_Symbolization;
+ // get the symbol definition, either inlined or by reference
+ SymbolDefinition* def = instance->GetSymbolDefinition();
+ if (def == NULL)
+ {
+ if (m_resources == NULL)
+ continue;
+ const MdfString& ref = instance->GetSymbolReference();
+ def = m_resources->GetSymbolDefinition(ref.c_str());
+ if (def == NULL)
+ continue;
+ }
+
+ m_symbolization = new SE_Symbolization();
+
m_symbolization->context = instance->GetSizeContext();
ParseBooleanExpression(instance->GetDrawLast(), m_symbolization->drawLast);
@@ -604,7 +616,7 @@
ParseDoubleExpression(instance->GetInsertionOffsetX(), m_symbolization->absOffset[0]);
ParseDoubleExpression(instance->GetInsertionOffsetY(), m_symbolization->absOffset[1]);
- sd->AcceptVisitor(*this);
+ def->AcceptVisitor(*this);
result.push_back(m_symbolization);
}
Modified: trunk/MgDev/Common/Stylization/SE_SymbolManager.h
===================================================================
--- trunk/MgDev/Common/Stylization/SE_SymbolManager.h 2007-03-18 22:14:26 UTC (rev 1281)
+++ trunk/MgDev/Common/Stylization/SE_SymbolManager.h 2007-03-19 12:44:03 UTC (rev 1282)
@@ -21,12 +21,14 @@
namespace MdfModel
{
class SymbolDefinition;
-};
+}
+using namespace MdfModel;
+
class SE_SymbolManager
{
public:
- virtual MdfModel::SymbolDefinition* GetSymbolDefinition(const wchar_t* resource) = 0;
+ virtual SymbolDefinition* GetSymbolDefinition(const wchar_t* resource) = 0;
virtual const unsigned char* GetImageData(const wchar_t* resource, int& length) = 0;
};
Modified: trunk/MgDev/Server/src/Services/Mapping/SEMgSymbolManager.h
===================================================================
--- trunk/MgDev/Server/src/Services/Mapping/SEMgSymbolManager.h 2007-03-18 22:14:26 UTC (rev 1281)
+++ trunk/MgDev/Server/src/Services/Mapping/SEMgSymbolManager.h 2007-03-19 12:44:03 UTC (rev 1282)
@@ -23,13 +23,6 @@
class MgResourceService;
-namespace MdfModel
-{
- class SymbolDefinition;
-};
-
-using namespace MdfModel;
-
// MappingService specific implementation of the RS_SymbolManager interface.
// It retrieves DWF symbol data from the resource service and caches it
// for reuse by stylization.
More information about the mapguide-commits
mailing list