Menu

#25 axis.drawlabel alterate graphics it uses

open
nobody
None
5
2005-03-24
2005-03-24
julien_
No

in the class "axis", in the "drawlabel" method, this what
can be found:

(L 954)
g.TranslateTransform( offset.X , offset.Y ); // this is done
last.

g.TranslateTransform( average.X, average.Y );

g.RotateTransform( (float)theta ); // this is done first.

(L 986)
g.TranslateTransform

you make some changes in the coordinate system of
the graphics g, and reset the transform.

but i use a preview control (not the microsoft one) that
also does transform to the graphics, so when i draw the
plot, the graphics is changed, compared to what it was
before the axis.drawlabel is called.

i replaced the g.TranslateTransform by the inversion of
modification you made to the graphics:

g.RotateTransform( (float)-theta );

g.TranslateTransform( -average.X, -average.Y );

g.TranslateTransform( -offset.X , -offset.Y );

so, the graphics returns to its previous state. the plot is
well drawn and my graphics is still the same.

i hope this can help you.

Discussion


Log in to post a comment.

Monday.com Logo