comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: Is there a way to keep axis text from scaling?
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: Is there a way to keep axis text from scaling? [message #17540 is a reply to message #17537] Fri, 29 October 1999 00:00 Go to previous message
davidf is currently offline  davidf
Messages: 2866
Registered: September 1996
Senior Member
Karri Kaksonen (karri.kaksonen@picker.fi) writes:

> I wrote some object graphics axes and found out that I
> cannot change the data range without scaling the font at
> the same time.
>
> The solution to kill the axis and re-create them is not
> very pretty. Does somebody have a better solution?

Whoops! This was something that I thought to mention
several times in the course last week and every time
promptly forgot to do it in the heat of battle. :-)

What we want to do here is recompute the text scaling
when we change the axis range that the text object
is attached to. We can control when the scaling occurs
by setting the RECOMPUTE_DIMENSIONS property of the
text object. In this case, you would like to *always*
recompute the text dimensions, so I would set this
property at the same time you assign the font object
to the text object in the INIT method of your object:

axistext->setproperty, font=self.complexPlotFont, $
Recompute_Dimensions=2

Cheers,

David

--
David Fanning, Ph.D.
Fanning Software Consulting
Phone: 970-221-0438 E-Mail: davidf@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Toll-Free IDL Book Orders: 1-888-461-0155
[Message index]
 
Read Message
Read Message
Read Message
Previous Topic: Re: undefined keyword variables
Next Topic: Re: Does the hide-keyword work?

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Sun Oct 12 02:03:17 PDT 2025

Total time taken to generate the page: 0.95900 seconds