[GRASS-dev] Re: single-click zoom doesn't preserve aspect ratio

Moritz Lennert mlennert at club.worldonline.be
Wed Nov 8 08:10:28 EST 2006


Moritz Lennert wrote:
> Moritz Lennert wrote:
>> Maciej Sieczka wrote:
>>> Trying to switch to "Map fills display window" mode, I get an error:
>>>
>>> can't read "nsres": no such variable
>>> can't read "nsres": no such variable
>>>     while executing
>>> "expr round(abs($n-$s)/$nsres)"
>>>     (procedure "MapCanvas::currentzoom" line 27)
>>>     invoked from within
>>> "MapCanvas::currentzoom $mon"
>>>     (procedure "MapCanvas::runprograms" line 24)
>>>     invoked from within
>>> "MapCanvas::runprograms $mon [expr {$mymodified != 0}]"
>>>     (procedure "MapCanvas::drawmap" line 38)
>>>     invoked from within
>>> "MapCanvas::drawmap $mon"
>>>     (procedure "MapCanvas::display_server" line 9)
>>>     invoked from within
>>> "MapCanvas::display_server"
>>>     ("after" script)
>>
>> I can confirm this. Changing nsres and ewres (in the next line) to 
>> explore_nsres and explore_ewres apparently solves the problem for me, 
>> but I'm not sure whether this is the correct way to do it. Michael ?
> 
> Sorry, forgot to include the patch:
> 
> Index: mapcanvas.tcl
> ===================================================================
> RCS file: /grassrepository/grass6/gui/tcltk/gis.m/mapcanvas.tcl,v
> retrieving revision 1.49
> diff -u -r1.49 mapcanvas.tcl
> --- mapcanvas.tcl       4 Nov 2006 00:01:43 -0000       1.49
> +++ mapcanvas.tcl       7 Nov 2006 15:04:15 -0000
> @@ -969,8 +969,8 @@
>                 # Calculate the resolutions proportional to the map size
>                 set explore_nsres [expr {1.0 * ($n - $s) / 
> $canvas_h($mon)}]
>                 set explore_ewres [expr {1.0 * ($e - $w) / 
> $canvas_w($mon)}]
> -               set explore_rows [expr round(abs($n-$s)/$nsres)]
> -               set explore_cols [expr round(abs($e-$w)/$ewres)]
> +               set explore_rows [expr round(abs($n-$s)/$explore_nsres)]
> +               set explore_cols [expr round(abs($e-$w)/$explore_ewres)]
>                 lappend expanded_region $explore_nsres $explore_ewres 
> $explore_rows $explore_cols
>                 set region $expanded_region
>         }
> 

Just comitted this fix.

Moritz




More information about the grass-dev mailing list