{"action":"created","comment":{"url":"https://api.github.com/repos/flutter/engine/pulls/comments/43702043","id":43702043,"diff_hunk":"@@ -0,0 +1,32 @@\n+part of dart_ui;\n+\n+// An immutable rounded rectangle.\n+class RRect {\n+  RRect();\n+\n+  final Float32List _value = new Float32List(6);\n+\n+  /// Initialize with the same radii for all four corners.\n+  void setRectXY(Rect rect, double xRad, double yRad) {","path":"sky/engine/core/painting/RRect.dart","position":10,"original_position":10,"commit_id":"44954862e8884ae106a5993606c922fbaaba248e","original_commit_id":"44954862e8884ae106a5993606c922fbaaba248e","user":{"login":"abarth","id":112007,"avatar_url":"https://avatars.githubusercontent.com/u/112007?v=3","gravatar_id":"","url":"https://api.github.com/users/abarth","html_url":"https://github.com/abarth","followers_url":"https://api.github.com/users/abarth/followers","following_url":"https://api.github.com/users/abarth/following{/other_user}","gists_url":"https://api.github.com/users/abarth/gists{/gist_id}","starred_url":"https://api.github.com/users/abarth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abarth/subscriptions","organizations_url":"https://api.github.com/users/abarth/orgs","repos_url":"https://api.github.com/users/abarth/repos","events_url":"https://api.github.com/users/abarth/events{/privacy}","received_events_url":"https://api.github.com/users/abarth/received_events","type":"User","site_admin":false},"body":"IMHO, we should make RRect immutable, like Rect, Size, and Point.  Maybe we should prepare to make that change in this patch by adding a constructor:\r\n\r\n```dart\r\nRRect.fromRectXY(Rect rect, xRadius, yRadius)\r\n```\r\n\r\nAfter this patch lands, we can convert callers over to that and then remove the setRectXY...","created_at":"2015-11-03T00:06:55Z","updated_at":"2015-11-03T00:06:55Z","html_url":"https://github.com/flutter/engine/pull/1905#discussion_r43702043","pull_request_url":"https://api.github.com/repos/flutter/engine/pulls/1905","_links":{"self":{"href":"https://api.github.com/repos/flutter/engine/pulls/comments/43702043"},"html":{"href":"https://github.com/flutter/engine/pull/1905#discussion_r43702043"},"pull_request":{"href":"https://api.github.com/repos/flutter/engine/pulls/1905"}}},"pull_request":{"url":"https://api.github.com/repos/flutter/engine/pulls/1905","id":49504231,"html_url":"https://github.com/flutter/engine/pull/1905","diff_url":"https://github.com/flutter/engine/pull/1905.diff","patch_url":"https://github.com/flutter/engine/pull/1905.patch","issue_url":"https://api.github.com/repos/flutter/engine/issues/1905","number":1905,"state":"open","locked":false,"title":"Marshal RRect using a DartConverter (as is done for Rect)","user":{"login":"jason-simmons","id":14226037,"avatar_url":"https://avatars.githubusercontent.com/u/14226037?v=3","gravatar_id":"","url":"https://api.github.com/users/jason-simmons","html_url":"https://github.com/jason-simmons","followers_url":"https://api.github.com/users/jason-simmons/followers","following_url":"https://api.github.com/users/jason-simmons/following{/other_user}","gists_url":"https://api.github.com/users/jason-simmons/gists{/gist_id}","starred_url":"https://api.github.com/users/jason-simmons/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jason-simmons/subscriptions","organizations_url":"https://api.github.com/users/jason-simmons/orgs","repos_url":"https://api.github.com/users/jason-simmons/repos","events_url":"https://api.github.com/users/jason-simmons/events{/privacy}","received_events_url":"https://api.github.com/users/jason-simmons/received_events","type":"User","site_admin":false},"body":"This improved running time of a Canvas.drawRRect benchmark by 40%","created_at":"2015-11-03T00:04:05Z","updated_at":"2015-11-03T00:06:55Z","closed_at":null,"merged_at":null,"merge_commit_sha":"12af962f5061fdbfcfb032cd89d0f0e6bf205461","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/flutter/engine/pulls/1905/commits","review_comments_url":"https://api.github.com/repos/flutter/engine/pulls/1905/comments","review_comment_url":"https://api.github.com/repos/flutter/engine/pulls/comments{/number}","comments_url":"https://api.github.com/repos/flutter/engine/issues/1905/comments","statuses_url":"https://api.github.com/repos/flutter/engine/statuses/44954862e8884ae106a5993606c922fbaaba248e","head":{"label":"jason-simmons:canvas_rrect_marshal","ref":"canvas_rrect_marshal","sha":"44954862e8884ae106a5993606c922fbaaba248e","user":{"login":"jason-simmons","id":14226037,"avatar_url":"https://avatars.githubusercontent.com/u/14226037?v=3","gravatar_id":"","url":"https://api.github.com/users/jason-simmons","html_url":"https://github.com/jason-simmons","followers_url":"https://api.github.com/users/jason-simmons/followers","following_url":"https://api.github.com/users/jason-simmons/following{/other_user}","gists_url":"https://api.github.com/users/jason-simmons/gists{/gist_id}","starred_url":"https://api.github.com/users/jason-simmons/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jason-simmons/subscriptions","organizations_url":"https://api.github.com/users/jason-simmons/orgs","repos_url":"https://api.github.com/users/jason-simmons/repos","events_url":"https://api.github.com/users/jason-simmons/events{/privacy}","received_events_url":"https://api.github.com/users/jason-simmons/received_events","type":"User","site_admin":false},"repo":{"id":42275405,"name":"sky_engine","full_name":"jason-simmons/sky_engine","owner":{"login":"jason-simmons","id":14226037,"avatar_url":"https://avatars.githubusercontent.com/u/14226037?v=3","gravatar_id":"","url":"https://api.github.com/users/jason-simmons","html_url":"https://github.com/jason-simmons","followers_url":"https://api.github.com/users/jason-simmons/followers","following_url":"https://api.github.com/users/jason-simmons/following{/other_user}","gists_url":"https://api.github.com/users/jason-simmons/gists{/gist_id}","starred_url":"https://api.github.com/users/jason-simmons/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jason-simmons/subscriptions","organizations_url":"https://api.github.com/users/jason-simmons/orgs","repos_url":"https://api.github.com/users/jason-simmons/repos","events_url":"https://api.github.com/users/jason-simmons/events{/privacy}","received_events_url":"https://api.github.com/users/jason-simmons/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jason-simmons/sky_engine","description":"The Sky engine","fork":true,"url":"https://api.github.com/repos/jason-simmons/sky_engine","forks_url":"https://api.github.com/repos/jason-simmons/sky_engine/forks","keys_url":"https://api.github.com/repos/jason-simmons/sky_engine/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jason-simmons/sky_engine/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jason-simmons/sky_engine/teams","hooks_url":"https://api.github.com/repos/jason-simmons/sky_engine/hooks","issue_events_url":"https://api.github.com/repos/jason-simmons/sky_engine/issues/events{/number}","events_url":"https://api.github.com/repos/jason-simmons/sky_engine/events","assignees_url":"https://api.github.com/repos/jason-simmons/sky_engine/assignees{/user}","branches_url":"https://api.github.com/repos/jason-simmons/sky_engine/branches{/branch}","tags_url":"https://api.github.com/repos/jason-simmons/sky_engine/tags","blobs_url":"https://api.github.com/repos/jason-simmons/sky_engine/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jason-simmons/sky_engine/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jason-simmons/sky_engine/git/refs{/sha}","trees_url":"https://api.github.com/repos/jason-simmons/sky_engine/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jason-simmons/sky_engine/statuses/{sha}","languages_url":"https://api.github.com/repos/jason-simmons/sky_engine/languages","stargazers_url":"https://api.github.com/repos/jason-simmons/sky_engine/stargazers","contributors_url":"https://api.github.com/repos/jason-simmons/sky_engine/contributors","subscribers_url":"https://api.github.com/repos/jason-simmons/sky_engine/subscribers","subscription_url":"https://api.github.com/repos/jason-simmons/sky_engine/subscription","commits_url":"https://api.github.com/repos/jason-simmons/sky_engine/commits{/sha}","git_commits_url":"https://api.github.com/repos/jason-simmons/sky_engine/git/commits{/sha}","comments_url":"https://api.github.com/repos/jason-simmons/sky_engine/comments{/number}","issue_comment_url":"https://api.github.com/repos/jason-simmons/sky_engine/issues/comments{/number}","contents_url":"https://api.github.com/repos/jason-simmons/sky_engine/contents/{+path}","compare_url":"https://api.github.com/repos/jason-simmons/sky_engine/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jason-simmons/sky_engine/merges","archive_url":"https://api.github.com/repos/jason-simmons/sky_engine/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jason-simmons/sky_engine/downloads","issues_url":"https://api.github.com/repos/jason-simmons/sky_engine/issues{/number}","pulls_url":"https://api.github.com/repos/jason-simmons/sky_engine/pulls{/number}","milestones_url":"https://api.github.com/repos/jason-simmons/sky_engine/milestones{/number}","notifications_url":"https://api.github.com/repos/jason-simmons/sky_engine/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jason-simmons/sky_engine/labels{/name}","releases_url":"https://api.github.com/repos/jason-simmons/sky_engine/releases{/id}","created_at":"2015-09-10T23:06:33Z","updated_at":"2015-09-10T23:06:47Z","pushed_at":"2015-11-03T00:03:42Z","git_url":"git://github.com/jason-simmons/sky_engine.git","ssh_url":"git@github.com:jason-simmons/sky_engine.git","clone_url":"https://github.com/jason-simmons/sky_engine.git","svn_url":"https://github.com/jason-simmons/sky_engine","homepage":null,"size":78364,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"flutter:master","ref":"master","sha":"b6e307853f0447c4e56266d30834bdcb5604d8a1","user":{"login":"flutter","id":14101776,"avatar_url":"https://avatars.githubusercontent.com/u/14101776?v=3","gravatar_id":"","url":"https://api.github.com/users/flutter","html_url":"https://github.com/flutter","followers_url":"https://api.github.com/users/flutter/followers","following_url":"https://api.github.com/users/flutter/following{/other_user}","gists_url":"https://api.github.com/users/flutter/gists{/gist_id}","starred_url":"https://api.github.com/users/flutter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flutter/subscriptions","organizations_url":"https://api.github.com/users/flutter/orgs","repos_url":"https://api.github.com/users/flutter/repos","events_url":"https://api.github.com/users/flutter/events{/privacy}","received_events_url":"https://api.github.com/users/flutter/received_events","type":"Organization","site_admin":false},"repo":{"id":39211337,"name":"engine","full_name":"flutter/engine","owner":{"login":"flutter","id":14101776,"avatar_url":"https://avatars.githubusercontent.com/u/14101776?v=3","gravatar_id":"","url":"https://api.github.com/users/flutter","html_url":"https://github.com/flutter","followers_url":"https://api.github.com/users/flutter/followers","following_url":"https://api.github.com/users/flutter/following{/other_user}","gists_url":"https://api.github.com/users/flutter/gists{/gist_id}","starred_url":"https://api.github.com/users/flutter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flutter/subscriptions","organizations_url":"https://api.github.com/users/flutter/orgs","repos_url":"https://api.github.com/users/flutter/repos","events_url":"https://api.github.com/users/flutter/events{/privacy}","received_events_url":"https://api.github.com/users/flutter/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/flutter/engine","description":"The Flutter engine","fork":false,"url":"https://api.github.com/repos/flutter/engine","forks_url":"https://api.github.com/repos/flutter/engine/forks","keys_url":"https://api.github.com/repos/flutter/engine/keys{/key_id}","collaborators_url":"https://api.github.com/repos/flutter/engine/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/flutter/engine/teams","hooks_url":"https://api.github.com/repos/flutter/engine/hooks","issue_events_url":"https://api.github.com/repos/flutter/engine/issues/events{/number}","events_url":"https://api.github.com/repos/flutter/engine/events","assignees_url":"https://api.github.com/repos/flutter/engine/assignees{/user}","branches_url":"https://api.github.com/repos/flutter/engine/branches{/branch}","tags_url":"https://api.github.com/repos/flutter/engine/tags","blobs_url":"https://api.github.com/repos/flutter/engine/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/flutter/engine/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/flutter/engine/git/refs{/sha}","trees_url":"https://api.github.com/repos/flutter/engine/git/trees{/sha}","statuses_url":"https://api.github.com/repos/flutter/engine/statuses/{sha}","languages_url":"https://api.github.com/repos/flutter/engine/languages","stargazers_url":"https://api.github.com/repos/flutter/engine/stargazers","contributors_url":"https://api.github.com/repos/flutter/engine/contributors","subscribers_url":"https://api.github.com/repos/flutter/engine/subscribers","subscription_url":"https://api.github.com/repos/flutter/engine/subscription","commits_url":"https://api.github.com/repos/flutter/engine/commits{/sha}","git_commits_url":"https://api.github.com/repos/flutter/engine/git/commits{/sha}","comments_url":"https://api.github.com/repos/flutter/engine/comments{/number}","issue_comment_url":"https://api.github.com/repos/flutter/engine/issues/comments{/number}","contents_url":"https://api.github.com/repos/flutter/engine/contents/{+path}","compare_url":"https://api.github.com/repos/flutter/engine/compare/{base}...{head}","merges_url":"https://api.github.com/repos/flutter/engine/merges","archive_url":"https://api.github.com/repos/flutter/engine/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/flutter/engine/downloads","issues_url":"https://api.github.com/repos/flutter/engine/issues{/number}","pulls_url":"https://api.github.com/repos/flutter/engine/pulls{/number}","milestones_url":"https://api.github.com/repos/flutter/engine/milestones{/number}","notifications_url":"https://api.github.com/repos/flutter/engine/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/flutter/engine/labels{/name}","releases_url":"https://api.github.com/repos/flutter/engine/releases{/id}","created_at":"2015-07-16T17:39:56Z","updated_at":"2015-11-02T22:05:55Z","pushed_at":"2015-11-03T00:04:05Z","git_url":"git://github.com/flutter/engine.git","ssh_url":"git@github.com:flutter/engine.git","clone_url":"https://github.com/flutter/engine.git","svn_url":"https://github.com/flutter/engine","homepage":"http://flutter.io","size":94843,"stargazers_count":305,"watchers_count":305,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":72,"mirror_url":null,"open_issues_count":186,"forks":72,"open_issues":186,"watchers":305,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/flutter/engine/pulls/1905"},"html":{"href":"https://github.com/flutter/engine/pull/1905"},"issue":{"href":"https://api.github.com/repos/flutter/engine/issues/1905"},"comments":{"href":"https://api.github.com/repos/flutter/engine/issues/1905/comments"},"review_comments":{"href":"https://api.github.com/repos/flutter/engine/pulls/1905/comments"},"review_comment":{"href":"https://api.github.com/repos/flutter/engine/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/flutter/engine/pulls/1905/commits"},"statuses":{"href":"https://api.github.com/repos/flutter/engine/statuses/44954862e8884ae106a5993606c922fbaaba248e"}}}}