[mapguide-commits] r1359 - trunk/MgDev/Common/Stylization
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Fri Mar 23 14:43:38 EDT 2007
Author: traianstanev
Date: 2007-03-23 14:43:37 -0400 (Fri, 23 Mar 2007)
New Revision: 1359
Modified:
trunk/MgDev/Common/Stylization/SE_StyleVisitor.cpp
trunk/MgDev/Common/Stylization/SE_SymbolDefProxies.cpp
trunk/MgDev/Common/Stylization/SE_SymbolDefProxies.h
Log:
Provisional support for text height and image scale-ability options. Currently the code is disabled, it will be enabled once the MDF part of the work is done.
Modified: trunk/MgDev/Common/Stylization/SE_StyleVisitor.cpp
===================================================================
--- trunk/MgDev/Common/Stylization/SE_StyleVisitor.cpp 2007-03-23 16:56:13 UTC (rev 1358)
+++ trunk/MgDev/Common/Stylization/SE_StyleVisitor.cpp 2007-03-23 18:43:37 UTC (rev 1359)
@@ -493,11 +493,16 @@
ParseDoubleExpression(image.GetSizeY(), primitive->extent[1]);
ParseDoubleExpression(image.GetAngle(), primitive->angle);
+ //TODO: SizeScaleable
+ //ParseBooleanExpression(image.GetExtentScaleable(), primitive->extentScaleable);
+
primitive->cacheable = !(primitive->position[0].expression ||
primitive->position[1].expression ||
primitive->extent[0].expression ||
primitive->extent[1].expression ||
- primitive->angle.expression) && primitive->pngPtr;
+ primitive->angle.expression ||
+ primitive->extentScaleable.expression
+ ) && primitive->pngPtr;
}
void SE_StyleVisitor::VisitText(Text& text)
@@ -520,6 +525,9 @@
ParseStringExpression(text.GetHorizontalAlignment(), primitive->hAlignment);
ParseStringExpression(text.GetVerticalAlignment(), primitive->vAlignment);
ParseStringExpression(text.GetJustification(), primitive->justification);
+
+ //TODO: SizeScaleable
+ //ParseBooleanExpression(text.GetSizeScaleable(), primitive->sizeScaleable);
primitive->cacheable = !(primitive->textExpr.expression ||
primitive->fontExpr.expression ||
@@ -535,7 +543,9 @@
primitive->ghostColor.expression ||
primitive->hAlignment.expression ||
primitive->vAlignment.expression ||
- primitive->justification.expression);
+ primitive->justification.expression ||
+ primitive->sizeScaleable.expression
+ );
}
void SE_StyleVisitor::VisitSimpleSymbolDefinition(MdfModel::SimpleSymbolDefinition& simpleSymbol)
Modified: trunk/MgDev/Common/Stylization/SE_SymbolDefProxies.cpp
===================================================================
--- trunk/MgDev/Common/Stylization/SE_SymbolDefProxies.cpp 2007-03-23 16:56:13 UTC (rev 1358)
+++ trunk/MgDev/Common/Stylization/SE_SymbolDefProxies.cpp 2007-03-23 18:43:37 UTC (rev 1359)
@@ -186,7 +186,13 @@
ret->tdef.font().style() = (RS_FontStyle_Mask)style;
ret->tdef.font().name() = fontExpr.evaluate(cxt->exec);
- ret->tdef.font().height() = size.evaluate(cxt->exec)*0.001*cxt->xform->y1/cxt->mm2px; //convert mm to meters which is what RS_TextDef expects
+
+ //TODO: SizeScaleable -- remove the true
+ if (true || sizeScaleable.evaluate(cxt->exec))
+ ret->tdef.font().height() = size.evaluate(cxt->exec)*0.001*fabs(cxt->xform->y1)/cxt->mm2px; //convert mm to meters which is what RS_TextDef expects
+ else
+ ret->tdef.font().height() = size.evaluate(cxt->exec) * 0.001; //size is not scaleable -- only convert from mm to meters.
+
ret->tdef.linespace() = lineSpacing.evaluate(cxt->exec);
ret->tdef.color() = RS_Color::FromARGB(textColor.evaluate(cxt->exec));
@@ -268,8 +274,19 @@
ret->position[0] = position[0].evaluate(cxt->exec);
ret->position[1] = position[1].evaluate(cxt->exec);
cxt->xform->transform(ret->position[0], ret->position[1]);
- ret->extent[0] = extent[0].evaluate(cxt->exec)*cxt->xform->x0;
- ret->extent[1] = extent[1].evaluate(cxt->exec)*cxt->xform->y1;
+
+ //TODO: SizeScaleable -- remove the true
+ if (true || extentScaleable.evaluate(cxt->exec))
+ {
+ ret->extent[0] = extent[0].evaluate(cxt->exec)*cxt->xform->x0;
+ ret->extent[1] = extent[1].evaluate(cxt->exec)*cxt->xform->y1;
+ }
+ else
+ {
+ ret->extent[0] = extent[0].evaluate(cxt->exec)*cxt->mm2pxw;
+ ret->extent[1] = extent[1].evaluate(cxt->exec)*cxt->mm2pxw;
+ }
+
ret->angle = angle.evaluate(cxt->exec) * M_PI180;
SE_Matrix rxf;
Modified: trunk/MgDev/Common/Stylization/SE_SymbolDefProxies.h
===================================================================
--- trunk/MgDev/Common/Stylization/SE_SymbolDefProxies.h 2007-03-23 16:56:13 UTC (rev 1358)
+++ trunk/MgDev/Common/Stylization/SE_SymbolDefProxies.h 2007-03-23 18:43:37 UTC (rev 1359)
@@ -91,7 +91,8 @@
SE_String textExpr;
SE_String fontExpr;
SE_Double position[2];
- SE_Double size; // pt
+ SE_Double size;
+ SE_Boolean sizeScaleable;
SE_Double angle;
SE_Boolean underlined;
SE_Boolean italic;
@@ -116,6 +117,7 @@
int pngSize;
SE_Double position[2];
SE_Double extent[2];
+ SE_Boolean extentScaleable;
SE_Double angle;
SE_INLINE SE_Raster() : ownPtr(false) { }
More information about the mapguide-commits
mailing list