octave-maintainers
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]