{"action":"created","issue":{"url":"https://api.github.com/repos/matplotlib/matplotlib/issues/11944","repository_url":"https://api.github.com/repos/matplotlib/matplotlib","labels_url":"https://api.github.com/repos/matplotlib/matplotlib/issues/11944/labels{/name}","comments_url":"https://api.github.com/repos/matplotlib/matplotlib/issues/11944/comments","events_url":"https://api.github.com/repos/matplotlib/matplotlib/issues/11944/events","html_url":"https://github.com/matplotlib/matplotlib/pull/11944","id":354130378,"node_id":"MDExOlB1bGxSZXF1ZXN0MjEwOTcxODI1","number":11944,"title":"wx backends: don't use ClientDC any more","user":{"login":"DietmarSchwertberger","id":5512021,"node_id":"MDQ6VXNlcjU1MTIwMjE=","avatar_url":"https://avatars0.githubusercontent.com/u/5512021?v=4","gravatar_id":"","url":"https://api.github.com/users/DietmarSchwertberger","html_url":"https://github.com/DietmarSchwertberger","followers_url":"https://api.github.com/users/DietmarSchwertberger/followers","following_url":"https://api.github.com/users/DietmarSchwertberger/following{/other_user}","gists_url":"https://api.github.com/users/DietmarSchwertberger/gists{/gist_id}","starred_url":"https://api.github.com/users/DietmarSchwertberger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DietmarSchwertberger/subscriptions","organizations_url":"https://api.github.com/users/DietmarSchwertberger/orgs","repos_url":"https://api.github.com/users/DietmarSchwertberger/repos","events_url":"https://api.github.com/users/DietmarSchwertberger/events{/privacy}","received_events_url":"https://api.github.com/users/DietmarSchwertberger/received_events","type":"User","site_admin":false},"labels":[{"id":151678852,"node_id":"MDU6TGFiZWwxNTE2Nzg4NTI=","url":"https://api.github.com/repos/matplotlib/matplotlib/labels/GUI/wx","name":"GUI/wx","color":"d4c5f9","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/matplotlib/matplotlib/milestones/35","html_url":"https://github.com/matplotlib/matplotlib/milestone/35","labels_url":"https://api.github.com/repos/matplotlib/matplotlib/milestones/35/labels","id":3382328,"node_id":"MDk6TWlsZXN0b25lMzM4MjMyOA==","number":35,"title":"v3.1","description":"","creator":{"login":"tacaswell","id":199813,"node_id":"MDQ6VXNlcjE5OTgxMw==","avatar_url":"https://avatars3.githubusercontent.com/u/199813?v=4","gravatar_id":"","url":"https://api.github.com/users/tacaswell","html_url":"https://github.com/tacaswell","followers_url":"https://api.github.com/users/tacaswell/followers","following_url":"https://api.github.com/users/tacaswell/following{/other_user}","gists_url":"https://api.github.com/users/tacaswell/gists{/gist_id}","starred_url":"https://api.github.com/users/tacaswell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tacaswell/subscriptions","organizations_url":"https://api.github.com/users/tacaswell/orgs","repos_url":"https://api.github.com/users/tacaswell/repos","events_url":"https://api.github.com/users/tacaswell/events{/privacy}","received_events_url":"https://api.github.com/users/tacaswell/received_events","type":"User","site_admin":false},"open_issues":239,"closed_issues":34,"state":"open","created_at":"2018-05-29T02:12:40Z","updated_at":"2018-08-27T20:22:03Z","due_on":null,"closed_at":null},"comments":3,"created_at":"2018-08-26T21:24:52Z","updated_at":"2018-08-27T20:42:36Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/matplotlib/matplotlib/pulls/11944","html_url":"https://github.com/matplotlib/matplotlib/pull/11944","diff_url":"https://github.com/matplotlib/matplotlib/pull/11944.diff","patch_url":"https://github.com/matplotlib/matplotlib/pull/11944.patch"},"body":"## PR Summary\r\nThis is work in progress and needs some testing...\r\n\r\nFix for\r\n - Issue #10417\r\n - Issue  #11425\r\n\r\nAt the moment the wx backends have problems on Wayland as ClientDC is not working.\r\nThis PR changes the backends to trigger a Refresh instead and then paint everything in the `EVT_PAINT` handler. Also, `BufferedPaintDC` is used now as this is the standard approach for double-buffering.\r\n\r\nOverlays are used for drawing rubberbands. This is also done on Mac OS now, but only with a border, not with a half-transparent box, as this does not work on Retina displays.\r\n\r\n\r\n## PR Checklist\r\n\r\n- [ ] Has Pytest style unit tests\r\n- [ ] Code is [Flake 8](http://flake8.pycqa.org/en/latest/) compliant\r\n- [ ] New features are documented, with examples if plot related\r\n- [ ] Documentation is sphinx and numpydoc compliant\r\n- [ ] Added an entry to doc/users/next_whats_new/ if major new feature (follow instructions in README.rst there)\r\n- [ ] Documented in doc/api/api_changes.rst if API changed in a backward-incompatible way\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/matplotlib/matplotlib/issues/comments/416361754","html_url":"https://github.com/matplotlib/matplotlib/pull/11944#issuecomment-416361754","issue_url":"https://api.github.com/repos/matplotlib/matplotlib/issues/11944","id":416361754,"node_id":"MDEyOklzc3VlQ29tbWVudDQxNjM2MTc1NA==","user":{"login":"DietmarSchwertberger","id":5512021,"node_id":"MDQ6VXNlcjU1MTIwMjE=","avatar_url":"https://avatars0.githubusercontent.com/u/5512021?v=4","gravatar_id":"","url":"https://api.github.com/users/DietmarSchwertberger","html_url":"https://github.com/DietmarSchwertberger","followers_url":"https://api.github.com/users/DietmarSchwertberger/followers","following_url":"https://api.github.com/users/DietmarSchwertberger/following{/other_user}","gists_url":"https://api.github.com/users/DietmarSchwertberger/gists{/gist_id}","starred_url":"https://api.github.com/users/DietmarSchwertberger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DietmarSchwertberger/subscriptions","organizations_url":"https://api.github.com/users/DietmarSchwertberger/orgs","repos_url":"https://api.github.com/users/DietmarSchwertberger/repos","events_url":"https://api.github.com/users/DietmarSchwertberger/events{/privacy}","received_events_url":"https://api.github.com/users/DietmarSchwertberger/received_events","type":"User","site_admin":false},"created_at":"2018-08-27T20:42:36Z","updated_at":"2018-08-27T20:42:36Z","author_association":"CONTRIBUTOR","body":"@anntzer \r\nThanks a lot.\r\nWith the implementation as it is now, `Refresh` gets called from the EVT_PAINT handler, so I'm quite sure it's being painted twice if `_isDrawn` is False.\r\nIt's probably best to separate into the API function `draw()` and the internal rendering function `_draw()`.\r\n\r\nAbout the rubberband:\r\nCurrently the wx backends use the coloured box with 50% transparency, except on Mac OS due to the high dpi problems of the overlays.\r\n`RubberbandWx` draws just a black border on Mac OS. I'm not sure about the `NavigationToolbar2Wx`\r\nOf course, it would be possible to unify this and it would save a few lines. On the other hand, I like the transparent blue box.\r\nI will change to a dotted black line on Mac OS, though. That's probably more common than a solid blue or black line.\r\n\r\nI will add notes about the API changes.\r\nI thought about keeping `retinaFix`, but it would have to be moved to the canvas anyway.\r\n\r\nI will come back to you when I've done the changes. (I need to push the commits to be able to test on Mac OS.)\r\n"}}
{"actor":{"display_login":"DietmarSchwertberger"}}