[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Zoom GUI in fltk backend
From: |
Shai Ayal |
Subject: |
Re: Zoom GUI in fltk backend |
Date: |
Tue, 30 Jun 2009 09:27:04 +0300 |
On Tue, Jun 30, 2009 at 8:15 AM, Søren Hauberg<address@hidden> wrote:
> tir, 30 06 2009 kl. 06:43 +0300, skrev Shai Ayal:
>> On Tue, Jun 30, 2009 at 12:16 AM, Søren Hauberg<address@hidden> wrote:
>> > Anyway, I'm attaching a patch in case anybody wants to try this out. I
>> > had to hardcode the upper and lower bounds for the plot because I
>> > couldn't figure out how to extract this information from the axes. So,
>> > if you want to play with this, make sure that
>> >
>> > min (x) = 0 and max (x) = 10
>> I haven't tried it yet, but just looking at the patch, you have:
>> Matrix xlim = ap.get_xlim ().matrix_value ();
>> Matrix ylim = ap.get_ylim ().matrix_value ();
>>
>> don't these give you the limits (i.e. minx=xlim(0)<xlim(1) ? xlim(0) :
>> xlim(1);)
>
> No. When you zoom you change the values of 'xlim' and 'ylim', whereas
> 'min[x|y]' and 'max[x|y]' should be the extremas of the data. These are
> used to ensure that you don't zoom too far a way.
Thanks for explaining:
So, perusing src/graphics.cc I think the right function to use is
get_children_limits as used in the code there, e.g.:
Matrix kids = ap.get_children ();
double min_val = octave_Inf;
double max_val = -octave_Inf;
double min_pos = octave_Inf;
get_children_limits (min_val, max_val, min_pos, kids, 'x');
Note that this function is now static, so it would have to be
"un-statified" and the prototype would have to go to the
src/graphics.h.in files
Shai
Re: Zoom GUI in fltk backend, John Swensen, 2009/06/30