Dorpond had a great idea for the "mapper" application I was working on before I found MapTool.
Draw a resizable grid on top of the map. As the mouse is right-dragged, the grid (or the map) moves to allow positioning of the grid. If the mouse is moved without dragging, the grid is resized. (Of you could use the wheel, since that preserves the current "zoom" concept.)
I had something like this working with my map software, but I never got to Dorpond's full idea. In my solution, there were multiple discrete steps:
- define an "anchor" or "origin" point
- move the mouse to another position on the map (a rubberband line is drawn)
- click the mouse to set the second point.
That part was used to rotate the map. Many of the maps I scan in already have a background grid on them, so the first step is to rotate the scanned image so that the grid lines are exactly horizontal/vertical. Then the second step was the scaling:
- select an origin point
- move the mouse to an intersection directly horizontal or vertical from the origin
- click the mouse
- enter the number of grid squares between the two
The second part scaled the image. (Actually, since I was using fractional grid sizes, I just set the grid size appropriately.)
I later realized that both steps can be combined. Since part of the second step is to choose an intersection which is horizontal or vertical from the origin, the rotation can be done at the same time.
I began work on integrating the two pieces, but that's when I found out about MapTool (also from Dorpond -- thanks, buddy!).