{"action":"created","issue":{"url":"https://api.github.com/repos/mypaint/mypaint/issues/328","labels_url":"https://api.github.com/repos/mypaint/mypaint/issues/328/labels{/name}","comments_url":"https://api.github.com/repos/mypaint/mypaint/issues/328/comments","events_url":"https://api.github.com/repos/mypaint/mypaint/issues/328/events","html_url":"https://github.com/mypaint/mypaint/issues/328","id":82059635,"number":328,"title":"Scrolling functionality regression in 189e195","user":{"login":"iirelu","id":3432543,"avatar_url":"https://avatars.githubusercontent.com/u/3432543?v=3","gravatar_id":"","url":"https://api.github.com/users/iirelu","html_url":"https://github.com/iirelu","followers_url":"https://api.github.com/users/iirelu/followers","following_url":"https://api.github.com/users/iirelu/following{/other_user}","gists_url":"https://api.github.com/users/iirelu/gists{/gist_id}","starred_url":"https://api.github.com/users/iirelu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iirelu/subscriptions","organizations_url":"https://api.github.com/users/iirelu/orgs","repos_url":"https://api.github.com/users/iirelu/repos","events_url":"https://api.github.com/users/iirelu/events{/privacy}","received_events_url":"https://api.github.com/users/iirelu/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mypaint/mypaint/labels/bug","name":"bug","color":"fc2929"}],"state":"open","locked":false,"assignee":{"login":"achadwick","id":61299,"avatar_url":"https://avatars.githubusercontent.com/u/61299?v=3","gravatar_id":"","url":"https://api.github.com/users/achadwick","html_url":"https://github.com/achadwick","followers_url":"https://api.github.com/users/achadwick/followers","following_url":"https://api.github.com/users/achadwick/following{/other_user}","gists_url":"https://api.github.com/users/achadwick/gists{/gist_id}","starred_url":"https://api.github.com/users/achadwick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/achadwick/subscriptions","organizations_url":"https://api.github.com/users/achadwick/orgs","repos_url":"https://api.github.com/users/achadwick/repos","events_url":"https://api.github.com/users/achadwick/events{/privacy}","received_events_url":"https://api.github.com/users/achadwick/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/mypaint/mypaint/milestones/4","html_url":"https://github.com/mypaint/mypaint/milestones/MyPaint%201.2.0-beta.%3C1st%3E","labels_url":"https://api.github.com/repos/mypaint/mypaint/milestones/4/labels","id":1075743,"number":4,"title":"MyPaint 1.2.0-beta.<1st>","description":"Milestone for the first of possibly many betas before the final 1.2 release. Only bugfixes should be accepted during the beta cycle, ideally: that means no new features or string changes without a very good reason, please! This is the phase where we start asking translators to work on their bit, so the strings need to be as static as possible at this point.\r\n\r\nThis milestone should be associated with a formal release via github, and a formal tarball when it's done.\r\n\r\nIt should also be announced on the mailing list, Twitter etc., with **at least a month's notice**, and a date chosen.","creator":{"login":"achadwick","id":61299,"avatar_url":"https://avatars.githubusercontent.com/u/61299?v=3","gravatar_id":"","url":"https://api.github.com/users/achadwick","html_url":"https://github.com/achadwick","followers_url":"https://api.github.com/users/achadwick/followers","following_url":"https://api.github.com/users/achadwick/following{/other_user}","gists_url":"https://api.github.com/users/achadwick/gists{/gist_id}","starred_url":"https://api.github.com/users/achadwick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/achadwick/subscriptions","organizations_url":"https://api.github.com/users/achadwick/orgs","repos_url":"https://api.github.com/users/achadwick/repos","events_url":"https://api.github.com/users/achadwick/events{/privacy}","received_events_url":"https://api.github.com/users/achadwick/received_events","type":"User","site_admin":false},"open_issues":23,"closed_issues":6,"state":"open","created_at":"2015-04-20T18:01:09Z","updated_at":"2015-06-04T20:07:52Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2015-05-28T18:08:03Z","updated_at":"2015-06-07T00:26:17Z","closed_at":null,"body":"[Commit in question](https://github.com/mypaint/mypaint/commit/189e1952cf30038adcd38a95562c531e5a83c0e3).\r\n\r\nI understand the approach this commit attempted to take, but it did so poorly. It may improve the situation where smooth scrolling is possible but completely ruins things when all that's available is a regular scrollwheel.\r\n\r\nImmediately obvious problems:\r\n* Scrolling now scrolls in relative intervals instead of snapping to exact 100%, 150%, 200%, etc zoom levels. This hurts a lot for pixel art, where exact zoom scales are very much required.\r\n* Unable to zoom in and out using the scrollwheel whilst the tablet pen is active.\r\n* The commit suggests that shift+scrolling should bring back the old behaviour, but this is not the case. It's very buggy, and requires you to zoom twice in the same direction before it properly registers any scrolling.\r\n* If you zoom in or out too far, you can't return to exact 1:1 scale. Another big problem, as any rescaling will \"smear\" artwork (very obvious for pixel art).\r\n* Panning performance is *extremely* diminished whenever zoomed out at a non-regular scale, which with the old zooming wasn't a problem as it snapped to 50%, 25%, etc, but with this is *always* a problem.\r\n\r\nProposed solution: Only use smooth scrolling if a device capable of smoothly scrolling is detected, otherwise default to using the previously-standard scrolling.\r\n\r\n(Sorry for reporting this so late after its commit, I haven't used Mypaint in a while)"},"comment":{"url":"https://api.github.com/repos/mypaint/mypaint/issues/comments/109660984","html_url":"https://github.com/mypaint/mypaint/issues/328#issuecomment-109660984","issue_url":"https://api.github.com/repos/mypaint/mypaint/issues/328","id":109660984,"user":{"login":"achadwick","id":61299,"avatar_url":"https://avatars.githubusercontent.com/u/61299?v=3","gravatar_id":"","url":"https://api.github.com/users/achadwick","html_url":"https://github.com/achadwick","followers_url":"https://api.github.com/users/achadwick/followers","following_url":"https://api.github.com/users/achadwick/following{/other_user}","gists_url":"https://api.github.com/users/achadwick/gists{/gist_id}","starred_url":"https://api.github.com/users/achadwick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/achadwick/subscriptions","organizations_url":"https://api.github.com/users/achadwick/orgs","repos_url":"https://api.github.com/users/achadwick/repos","events_url":"https://api.github.com/users/achadwick/events{/privacy}","received_events_url":"https://api.github.com/users/achadwick/received_events","type":"User","site_admin":false},"created_at":"2015-06-07T00:26:17Z","updated_at":"2015-06-07T00:26:17Z","body":"I think the panning performance issue will have been resolved by #329's fix.\r\n\r\n@iirelu: I'll assume that just turning off the mask will restore expected behaviour, since that made scrolling stepwise in the old way for my touchpad here. Putting together a patch now. If it doesn't make scrolling acceptable, please report a separate new issue for each thing you see as a regression.\r\n"}}