fodg + gradient + angle

Michael Meeks michael.meeks at suse.com
Sat Jul 28 02:21:56 PDT 2012


Hi Christina :-)

On Fri, 2012-07-27 at 21:39 +0200, Christina Roßmanith wrote:
> a gradient angle given without a unith should be interpreted as degrees, 
> but in my example a value of draw:angle="90" shows up in LibO as 9 
> degrees. If I change it to draw:angle="90deg" the value is read correctly.

	I did a:

	git grep '"angle"'

	And:

xmloff/source/core/xmltoken.cxx:        TOKEN( "angle",
XML_GRADIENT_ANGLE ),

	Looks like a likely hit; it looks like this gets mapped to:

    { XML_NAMESPACE_DRAW, XML_GRADIENT_ANGLE, XML_TOK_GRADIENT_ANGLE },

xmloff/source/style/GradientStyle.cxx:        case XML_TOK_GRADIENT_ANGLE:
xmloff/source/style/GradientStyle.cxx-            {
xmloff/source/style/GradientStyle.cxx-                sal_Int32 nValue;
xmloff/source/style/GradientStyle.cxx-                ::sax::Converter::convertNumber( nValue, rStrValue, 0, 3600 );
xmloff/source/style/GradientStyle.cxx-                aGradient.Angle = sal_Int16( nValue );
xmloff/source/style/GradientStyle.cxx-            }
xmloff/source/style/GradientStyle.cxx-            break;

	To here - so ...

> Thus the question is: Where do I have to look to fix it?

	Is it possible that that 3600 should be 360 ? or is there some tends of
a degree-as-int going on there ? :-)

	Anyhow - hopefully that helps (?).

	Thanks for digging into it !

		Michael.

-- 
michael.meeks at suse.com  <><, Pseudo Engineer, itinerant idiot



More information about the LibreOffice mailing list