On 8/30/08, Phillip Neiswanger <sigsegv0 gmail com> wrote:Pressing SHIFT + middle mouse button and moving the mouse up will zoom inand pressing SHIFT + middle mouse button and moving the mouse down will zoom out.Arrgh. I just tried this gesture ... my elbow thinks I should give my washing machine a break and consider scrubbing clothes to build up some muscle power first. ;) I don't know enough to comment on the changes about smooth zooming, but what is wrong with plain simple shift + wheel scrolling? Why move the whole mouse!
Simple. 1. This is the mouse I own. http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=230284952391This is the only mouse I will ever own until I find another track ball mouse that's better. So far, nothing I've tried beats it. As you can see, I do not move a mouse, I roll a ball and it does not provide a scrollwheel. Thus, it did not even occur to me to tie zooming to a scrollwheel. What does it matter anyway? Why can't Dia support mice with and without scrollwheels? Shouldn't this be something I can configure?
2. The inspiration for this patch comes from this program: www.rhino3d.comI haven't tried the latest version of Rhino3d, but in the version I own it does the following. The left button is always select. You click on objects to select them or you select with a selection box. Pressing the control key while selecting allow you to select multiple objects one at a time. Very similar to Dia. The right button depends on the click. A quick press and release, when no objects are selected, repeats the last operation. When objects are selected, a press and release brings up the object properties dialog. A press and hold starts panning. A press and hold while pressing the control key starts zooming. Both panning and zooming respond to movements of the mouse. Zooming only responds to up/down movements. I'm sure the latest version provides functionality for the scrollwheel. I haven't tried it, so I don't know what it is.
Reguardless. The point of my patch was to give Dia a more interactive zoom than what is currently provided by Dia. In the end, I don't care what sequence of buttons I have to press or what kind of mouse movement is required. I just would like to see a more interactive zoom.
BTW, I've changed the constants used in ddisplay_zoom() from 1.1 and 0.9 to 1.02 and 0.98. The zooming is a little smoother with the new constants. Also, I neglected to mention this, but this patch removes the zoom limiting code in ddisplay_zoom() and ddisplay_set_origo(). The code in these functions produced some wierd interactions when smooth zomming and in the end I couldn't really figure out why there should be limits anyway, so I removed it.
-- phil