{"action":"created","issue":{"url":"https://api.github.com/repos/arduino/Arduino/issues/2776","labels_url":"https://api.github.com/repos/arduino/Arduino/issues/2776/labels{/name}","comments_url":"https://api.github.com/repos/arduino/Arduino/issues/2776/comments","events_url":"https://api.github.com/repos/arduino/Arduino/issues/2776/events","html_url":"https://github.com/arduino/Arduino/pull/2776","id":61909611,"number":2776,"title":"Add scaling for themed fonts and graphics (hires displays)","user":{"login":"PaulStoffregen","id":965463,"avatar_url":"https://avatars.githubusercontent.com/u/965463?v=3","gravatar_id":"","url":"https://api.github.com/users/PaulStoffregen","html_url":"https://github.com/PaulStoffregen","followers_url":"https://api.github.com/users/PaulStoffregen/followers","following_url":"https://api.github.com/users/PaulStoffregen/following{/other_user}","gists_url":"https://api.github.com/users/PaulStoffregen/gists{/gist_id}","starred_url":"https://api.github.com/users/PaulStoffregen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PaulStoffregen/subscriptions","organizations_url":"https://api.github.com/users/PaulStoffregen/orgs","repos_url":"https://api.github.com/users/PaulStoffregen/repos","events_url":"https://api.github.com/users/PaulStoffregen/events{/privacy}","received_events_url":"https://api.github.com/users/PaulStoffregen/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-03-15T22:19:26Z","updated_at":"2015-03-16T09:22:09Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/arduino/Arduino/pulls/2776","html_url":"https://github.com/arduino/Arduino/pull/2776","diff_url":"https://github.com/arduino/Arduino/pull/2776.diff","patch_url":"https://github.com/arduino/Arduino/pull/2776.patch"},"body":"This pull request adds a \"gui.scalePercent\" parameter in lib/theme/theme.txt, which can scale most of the currently fixed size graphics and fonts.  This allows adjusting Arduino for 4K and other high res screens.  It should mostly solve issue #2532 .\r\n\r\nForum user \"the-fallen\" deserves much of the credit for this patch.  He created the original version, posted to the forum.  I added automatic font and graphic scaling, and changed it to percentage for finer control.\r\n\r\nDiscussion is here:\r\n\r\nhttp://forum.arduino.cc/index.php?topic=263838.0"},"comment":{"url":"https://api.github.com/repos/arduino/Arduino/issues/comments/81528761","html_url":"https://github.com/arduino/Arduino/pull/2776#issuecomment-81528761","issue_url":"https://api.github.com/repos/arduino/Arduino/issues/2776","id":81528761,"user":{"login":"ffissore","id":510465,"avatar_url":"https://avatars.githubusercontent.com/u/510465?v=3","gravatar_id":"","url":"https://api.github.com/users/ffissore","html_url":"https://github.com/ffissore","followers_url":"https://api.github.com/users/ffissore/followers","following_url":"https://api.github.com/users/ffissore/following{/other_user}","gists_url":"https://api.github.com/users/ffissore/gists{/gist_id}","starred_url":"https://api.github.com/users/ffissore/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ffissore/subscriptions","organizations_url":"https://api.github.com/users/ffissore/orgs","repos_url":"https://api.github.com/users/ffissore/repos","events_url":"https://api.github.com/users/ffissore/events{/privacy}","received_events_url":"https://api.github.com/users/ffissore/received_events","type":"User","site_admin":false},"created_at":"2015-03-16T09:22:09Z","updated_at":"2015-03-16T09:22:09Z","body":"The GUI tests fail. Reported error is\r\n```\r\njava.lang.ExceptionInInitializerError\r\n\tat processing.app.AbstractGUITest.startUpTheIDE(AbstractGUITest.java:21)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)\r\n\tat org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)\r\n\tat org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)\r\n\tat org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)\r\n\tat org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)\r\n\tat org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)\r\n\tat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)\r\n\tat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\r\n\tat org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)\r\n\tat org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)\r\n\tat org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)\r\n\tat org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)\r\n\tat org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)\r\n\tat org.junit.runners.ParentRunner.run(ParentRunner.java:309)\r\n\tat org.junit.runner.JUnitCore.run(JUnitCore.java:160)\r\n\tat com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:78)\r\n\tat com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:212)\r\n\tat com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:68)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)\r\n\tat com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)\r\nCaused by: java.lang.NumberFormatException: null\r\n\tat java.lang.Integer.parseInt(Integer.java:443)\r\n\tat java.lang.Integer.parseInt(Integer.java:514)\r\n\tat processing.app.Theme.getInteger(Theme.java:82)\r\n\tat processing.app.Preferences.<clinit>(Preferences.java:208)\r\n\t... 28 more\r\n```\r\n\r\nYou can run the tests with `ant clean build test`. If you're on a multi monitor setup, switch the others off, and stay with one monitor only, otherwise the tests will hang (yeah, pretty annoying)"}}