Rename tf elements for easier handling.
This commit is contained in:
parent
c5695f6f88
commit
580891f181
2 changed files with 19 additions and 18 deletions
|
@ -76,14 +76,16 @@ only drawing Text is possible:
|
||||||
<character-aspect-ratio type="float"> Ratio between character height and width
|
<character-aspect-ratio type="float"> Ratio between character height and width
|
||||||
(default: 1)
|
(default: 1)
|
||||||
<tf> A 3x3 transformation matrix specified by 6 values
|
<tf> A 3x3 transformation matrix specified by 6 values
|
||||||
(child elements <a>, ..., <f>) See
|
(child elements <m n="0">, ..., <m n="5"> which equal to a,
|
||||||
|
...,f used in the SVG standard) See
|
||||||
http://www.w3.org/TR/SVG/coords.html#TransformMatrixDefined
|
http://www.w3.org/TR/SVG/coords.html#TransformMatrixDefined
|
||||||
for details.
|
for details.
|
||||||
You can also use shortcuts and use an alternative to
|
You can also use shortcuts and use an alternative to
|
||||||
specifying six values:
|
specifying six values:
|
||||||
- Translation: <tx>, <ty> (ty, ty default to 0)
|
- Translation: <t n="0">, <t n="1"> (both default to 0)
|
||||||
- Totation: <rot>
|
- Rotation: <rot>
|
||||||
- Scale: <sx>, <sy> (sx is required, sy defaults to sx)
|
- Scale: <s n="0">, <s n="1"> (s[0] is required, s[1]
|
||||||
|
defaults to s[0])
|
||||||
<alginment type="string"> Text alignment (default: "left-baseline") One of:
|
<alginment type="string"> Text alignment (default: "left-baseline") One of:
|
||||||
|
|
||||||
"left-top"
|
"left-top"
|
||||||
|
|
|
@ -56,19 +56,19 @@ namespace canvas
|
||||||
switch( _transform_types[i] )
|
switch( _transform_types[i] )
|
||||||
{
|
{
|
||||||
case TT_MATRIX:
|
case TT_MATRIX:
|
||||||
tf = osg::Matrix( tf_node->getDoubleValue("a", 1),
|
tf = osg::Matrix( tf_node->getDoubleValue("m[0]", 1),
|
||||||
tf_node->getDoubleValue("b", 0), 0, 0,
|
tf_node->getDoubleValue("m[1]", 0), 0, 0,
|
||||||
|
|
||||||
tf_node->getDoubleValue("c", 0),
|
tf_node->getDoubleValue("m[2]", 0),
|
||||||
tf_node->getDoubleValue("d", 1), 0, 0,
|
tf_node->getDoubleValue("m[3]", 1), 0, 0,
|
||||||
|
|
||||||
0, 0, 1, 0,
|
0, 0, 1, 0,
|
||||||
tf_node->getDoubleValue("e", 0),
|
tf_node->getDoubleValue("m[4]", 0),
|
||||||
tf_node->getDoubleValue("f", 0), 0, 1 );
|
tf_node->getDoubleValue("m[5]", 0), 0, 1 );
|
||||||
break;
|
break;
|
||||||
case TT_TRANSLATE:
|
case TT_TRANSLATE:
|
||||||
tf.makeTranslate( osg::Vec3f( tf_node->getDoubleValue("tx", 0),
|
tf.makeTranslate( osg::Vec3f( tf_node->getDoubleValue("t[0]", 0),
|
||||||
tf_node->getDoubleValue("ty", 0),
|
tf_node->getDoubleValue("t[1]", 0),
|
||||||
0 ) );
|
0 ) );
|
||||||
break;
|
break;
|
||||||
case TT_ROTATE:
|
case TT_ROTATE:
|
||||||
|
@ -76,9 +76,9 @@ namespace canvas
|
||||||
break;
|
break;
|
||||||
case TT_SCALE:
|
case TT_SCALE:
|
||||||
{
|
{
|
||||||
float sx = tf_node->getDoubleValue("sx", 1);
|
float sx = tf_node->getDoubleValue("s[0]", 1);
|
||||||
// sy defaults to sx...
|
// sy defaults to sx...
|
||||||
tf.makeScale( sx, tf_node->getDoubleValue("sy", sx), 1 );
|
tf.makeScale( sx, tf_node->getDoubleValue("s[1]", sx), 1 );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
@ -151,14 +151,13 @@ namespace canvas
|
||||||
|
|
||||||
TransformType& type = _transform_types[parent->getIndex()];
|
TransformType& type = _transform_types[parent->getIndex()];
|
||||||
|
|
||||||
if( name == "a" || name == "b" || name == "c"
|
if( name == "m" )
|
||||||
|| name == "d" || name == "e" || name == "f" )
|
|
||||||
type = TT_MATRIX;
|
type = TT_MATRIX;
|
||||||
else if( name == "tx" || name == "ty" )
|
else if( name == "t" )
|
||||||
type = TT_TRANSLATE;
|
type = TT_TRANSLATE;
|
||||||
else if( name == "rot" )
|
else if( name == "rot" )
|
||||||
type = TT_ROTATE;
|
type = TT_ROTATE;
|
||||||
else if( name == "sx" || name == "sy" )
|
else if( name == "s" )
|
||||||
type = TT_SCALE;
|
type = TT_SCALE;
|
||||||
else
|
else
|
||||||
SG_LOG
|
SG_LOG
|
||||||
|
|
Loading…
Reference in a new issue