Hi all,

I'm fixing issue 71367. I set a breakpoint at the line "case: GRADIENT_RADIAL" 
within the method "void ImplRenderer::createGradientAction( )" which is 
involved in the file"cppcanvas\source\mtfrenderer\implrenderer.cxx".( Line: 789 
)

I find the gradient has been enlarged to fit into the rectangle's diagonal.
the part of code:

aTextureTransformation.translate( -0.5, -0.5 );
const double nScale( hypot(aBounds.getWidth(), aBounds.getHeight()) / nScaleX );
aTextureTransformation.scale( nScale, nScale );
aTextureTransformation.translate( 0.5, 0.5 );

I don't know the cause and it seems unreasonable in any case.

So I remove the relevant code. after that I compare with the effect in normal 
mode and it seems that they are a bit different,but it looks much better now.

I think the section of code is to enlarge the gradient tinily.

Maybe here we can use the part of code within the case: GRADIENT_ELLIPTICAL.

I don't know whether it is right. So can anybody else give me some suggestions?



BestRegards
Liujianli

Reply via email to