Files
processing4/build/windows/config.xml
A Samuel Pottinger 003d33f951 Turn off UI scaling for windows.
Frustratingly, use of prior Processing WindowsPlatform code for detecting DPI causes UI scaling to turn off and yields a DPI of 96 regardless of windows display scaling. However, in the current WindowsPlatform, UI scaling is enabled but text size calculation within custom rendering swing elements is incorrect, possibly because there is scaling happening underneath transparently. This causes x positions to be inflated at 125% scaling, for example. On a whole, Windows itself does not recommend scaling other than 100% inside the settings UI and that UI scaling within Java itself makes the custom UI elements look bad. So, this suggests disabling the ui scaling in Java for the editor, leaving the opportunity for Processing to find a new way to detect system scaling in the future and handling it internally. At this time, sketches still seem to be calculating positions correctly though they do appear pixelated with display scaling. Therefore, they are left alone.
2019-11-22 16:53:48 -08:00

69 lines
3.1 KiB
XML
Executable File

<launch4jConfig>
<dontWrapJar>true</dontWrapJar>
<headerType>gui</headerType>
<jar>lib</jar>
<outfile>work/processing.exe</outfile>
<errTitle></errTitle>
<cmdLine></cmdLine>
<chdir>.</chdir>
<priority>normal</priority>
<downloadUrl>http://java.com/download</downloadUrl>
<supportUrl></supportUrl>
<customProcName>false</customProcName>
<stayAlive>false</stayAlive>
<manifest></manifest>
<icon>application.ico</icon>
<classPath>
<mainClass>processing.app.Base</mainClass>
<cp>lib/pde.jar</cp>
<cp>core/library/core.jar</cp>
<cp>lib/jna.jar</cp>
<cp>lib/jna-platform.jar</cp>
<cp>lib/antlr-4.7.2-complete.jar</cp>
<cp>lib/ant.jar</cp>
<cp>lib/ant-launcher.jar</cp>
<!-- <cp>%EXEDIR%/java/lib/tools.jar</cp> -->
</classPath>
<jre>
<path>java</path>
<!-- Deal with jokers who install JOGL, ANTLR, etc system-wide -->
<!-- <opt>-Djava.ext.dirs="%EXEDIR%\\java\\lib\\ext"</opt> -->
<!-- https://github.com/processing/processing/issues/2239 -->
<opt>-Djna.nosys=true</opt>
<!-- Java 9+ handles high DPI internally so OS display scaling -->
<!-- can cause display issues with custom rendering swing elements. -->
<opt>-Dsun.java2d.uiScale.enabled=false</opt>
<!-- Because nosys is set to true, the DLL in the current working
directory won't be considered. And we can't specify the user's
directory here because that'll get us into encoding trouble.
(See https://github.com/processing/processing/issues/3624)
Instead, set this so that Native.loadNativeLibrary() will use
new File(path, "jnidispatch.dll") which will be relative to the
directory of processing.exe (the current working directory). -->
<opt>-Djna.boot.library.path=lib</opt>
<opt>-Djna.nounpack=true</opt>
<!-- Attempt to fix UI rendering issues in Windows 10
https://github.com/processing/processing/issues/4700 -->
<opt>-Dsun.java2d.d3d=false</opt>
<opt>-Dsun.java2d.ddoffscreen=false</opt>
<opt>-Dsun.java2d.noddraw=true</opt>
<!-- starting in 3.0, require Java 8 -->
<minVersion>1.8.0_60</minVersion>
<!-- increase available per PDE X request -->
<maxHeapSize>512</maxHeapSize>
</jre>
<splash>
<file>about.bmp</file>
<waitForWindow>true</waitForWindow>
<timeout>60</timeout>
<timeoutErr>false</timeoutErr>
</splash>
<messages>
<startupErr>An error occurred while starting the application.</startupErr>
<bundledJreErr>This application was configured to use a bundled Java Runtime Environment but the runtime is missing or corrupted. If running from a folder with non-ASCII characters, try moving this folder to another location.</bundledJreErr>
<jreVersionErr>Required files could not be found. Be sure to first extract the entire Processing folder from the .zip file download. Or if running from a folder with non-ASCII characters, try moving the Processing folder to another location.</jreVersionErr>
<launcherErr>The registry refers to a nonexistent Java installation or the runtime is corrupted.</launcherErr>
<instanceAlreadyExistsMsg>An application instance is already running.</instanceAlreadyExistsMsg>
</messages>
</launch4jConfig>