[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