mirror of
https://github.com/processing/processing4.git
synced 2026-06-16 04:26:26 +02:00
bringing up to date with master
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# Configuration for Lock Threads - https://github.com/dessant/lock-threads-app
|
||||
|
||||
# Number of days of inactivity before a closed issue or pull request is locked
|
||||
daysUntilLock: 30
|
||||
|
||||
# Skip issues and pull requests created before a given timestamp. Timestamp must
|
||||
# follow ISO 8601 (`YYYY-MM-DD`). Set to `false` to disable
|
||||
skipCreatedBefore: false
|
||||
|
||||
# Issues and pull requests with these labels will be ignored. Set to `[]` to disable
|
||||
exemptLabels: []
|
||||
|
||||
# Label to add before locking, such as `outdated`. Set to `false` to disable
|
||||
lockLabel: false
|
||||
|
||||
# Comment to post before locking. Set to `false` to disable
|
||||
lockComment: >
|
||||
This thread has been automatically locked since there has not been
|
||||
any recent activity after it was closed. Please open a new issue for
|
||||
related bugs.
|
||||
|
||||
# Assign `resolved` as the reason for locking. Set to `false` to disable
|
||||
# setLockReason: true
|
||||
setLockReason: false
|
||||
|
||||
# Limit to only `issues` or `pulls`
|
||||
# only: issues
|
||||
|
||||
# Optionally, specify configuration settings just for `issues` or `pulls`
|
||||
# issues:
|
||||
# exemptLabels:
|
||||
# - help-wanted
|
||||
# lockLabel: outdated
|
||||
|
||||
# pulls:
|
||||
# daysUntilLock: 30
|
||||
|
||||
# Repository to extend settings from
|
||||
# _extends: repo
|
||||
@@ -5,7 +5,7 @@ Processing 4 makes important updates to the code to prepare the platform for its
|
||||
|
||||
## Roadmap
|
||||
|
||||
We don't have a schedule for a final release. This work is being done by a [tiny number of volunteers](https://github.com/processing/processing4/graphs/contributors?from=2019-10-01&to=2021-01-01&type=c) working in their personal free time.
|
||||
We don't have a schedule for a final release. This work is being done by a [tiny number of volunteers](https://github.com/processing/processing4/graphs/contributors?from=2019-10-01&to=2021-06-14&type=c) working in their personal free time.
|
||||
|
||||
* We're currently using JDK 11, which is a “Long Term Support” (LTS) release. Java 17 is the next LTS, and we'll switch to that when it arrives in September 2021.
|
||||
|
||||
@@ -82,4 +82,4 @@ If you're using Eclipse, it'll complain about the lack of `jogl-all-src.jar`. St
|
||||
git checkout 0779f229b0e9538c640b18b9a4e095af1f5a35b3
|
||||
zip -r ../jogl-all-src.jar src
|
||||
|
||||
Then copy that `jogl-all-src.jar` file to sit next to the `jogl-all.jar` folder inside `/path/to/processing/core/library`.
|
||||
Then copy that `jogl-all-src.jar` file to sit next to the `jogl-all.jar` folder inside `/path/to/processing/core/library`.
|
||||
|
||||
@@ -1,2 +1,5 @@
|
||||
bin
|
||||
pde.jar
|
||||
|
||||
jna.jar
|
||||
jna-platform.jar
|
||||
|
||||
+58
-3
@@ -9,14 +9,69 @@
|
||||
</target>
|
||||
|
||||
<target name="download-vaqua">
|
||||
|
||||
<get dest="lib" usetimestamp="true">
|
||||
<url url="${vaqua.url}/8/VAqua8.jar" />
|
||||
</get>
|
||||
|
||||
</target>
|
||||
|
||||
<target name="compile" description="Compile sources" depends="download-vaqua">
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<!-- Current version of JNA that works with Processing -->
|
||||
<property name="jna.version" value="5.7.0" />
|
||||
<!-- the .zip file to be downloaded -->
|
||||
<property name="jna.zip" value="${jna.version}.zip" />
|
||||
<!-- the .jar file that's the actual dependency -->
|
||||
<!-- <property name="batik.jar" value="batik-all-${batik.version}.jar" /> -->
|
||||
|
||||
<!-- URL for the version of Batik currently supported by this library.
|
||||
This should probably be changed to (or at leas mirrored at) a
|
||||
location on download.processing.org so it's available forever. -->
|
||||
<property name="jna.url"
|
||||
value="https://github.com/java-native-access/jna/archive/${jna.zip}" />
|
||||
|
||||
<fileset id="jna.files" dir="lib">
|
||||
<include name="jna.jar" />
|
||||
<include name="jna-platform.jar" />
|
||||
</fileset>
|
||||
|
||||
<condition property="jna.present">
|
||||
<resourcecount refid="jna.files" when="eq" count="2" />
|
||||
</condition>
|
||||
<!-- <available file="lib/jna.jar" property="jna.present" /> -->
|
||||
|
||||
<!-- ok to ignore failed downloads if we at least have a version that's local -->
|
||||
<condition property="jna.ignorable" value="false" else="true">
|
||||
<isset property="jna.present" />
|
||||
</condition>
|
||||
|
||||
<target name="download-jna" unless="jna.present">
|
||||
<get src="${jna.url}" dest="."
|
||||
ignoreerrors="${jna.ignorable}"
|
||||
usetimestamp="true" />
|
||||
|
||||
<property name="zip.prefix" value="jna-${jna.version}/dist" />
|
||||
|
||||
<!-- Formerly used batik-awt-util-1.8.jar, batik-dom-1.8.jar, batik-ext-1.8.jar,
|
||||
batik-svggen-1.8.jar, batik-util-1.8.jar, batik-xml-1.8.jar but using
|
||||
the big feller from now on since file size is less important, and there
|
||||
were complaints about some .jar files not being available. -->
|
||||
<unzip src="${jna.zip}" dest="lib">
|
||||
<patternset>
|
||||
<!-- unzip a single jar from the zip.prefix subdirectory in the .zip -->
|
||||
<include name="${zip.prefix}/jna.jar" />
|
||||
<include name="${zip.prefix}/jna-platform.jar" />
|
||||
</patternset>
|
||||
<mapper>
|
||||
<!-- remove the zip.prefix from the path when saving the .jar -->
|
||||
<globmapper from="${zip.prefix}/*" to="*" />
|
||||
</mapper>
|
||||
</unzip>
|
||||
<delete file="${jna.zip}" />
|
||||
</target>
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<target name="compile" description="Compile sources" depends="download-vaqua, download-jna">
|
||||
<condition property="core-built">
|
||||
<available file="../core/library/core.jar" />
|
||||
</condition>
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,4 +0,0 @@
|
||||
The JAR file is JNA 4.2.0
|
||||
|
||||
You can find the corresponding file for Maven here:
|
||||
https://maven.java.net/content/repositories/releases/net/java/dev/jna/jna/4.2.0/
|
||||
@@ -385,12 +385,20 @@ public class Platform {
|
||||
* @throws IOException
|
||||
*/
|
||||
static public boolean deleteFile(File file) throws IOException {
|
||||
FileUtils fu = FileUtils.getInstance();
|
||||
if (fu.hasTrash()) {
|
||||
fu.moveToTrash(new File[] { file });
|
||||
return true;
|
||||
try {
|
||||
FileUtils fu = FileUtils.getInstance();
|
||||
if (fu.hasTrash()) {
|
||||
fu.moveToTrash(new File[]{file});
|
||||
return true;
|
||||
}
|
||||
} catch (Throwable t) {
|
||||
// On macOS getting NoClassDefFoundError inside JNA on Big Sur.
|
||||
// (Can't find com.sun.jna.platform.mac.MacFileUtils$FileManager)
|
||||
// Just adding a catch-all here so that it does the fall-through below.
|
||||
System.err.println(t.getMessage());
|
||||
}
|
||||
|
||||
} else if (file.isDirectory()) {
|
||||
if (file.isDirectory()) {
|
||||
Util.removeDir(file);
|
||||
return true;
|
||||
|
||||
|
||||
@@ -10,6 +10,11 @@ public class RunnerListenerEdtAdapter implements RunnerListener {
|
||||
this.wrapped = wrapped;
|
||||
}
|
||||
|
||||
/** Need the original object so we can see if it's a JavaEditor */
|
||||
public RunnerListener getWrapped() {
|
||||
return wrapped;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void statusError(String message) {
|
||||
EventQueue.invokeLater(() -> wrapped.statusError(message));
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
package processing.app;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.Stack;
|
||||
|
||||
import javax.swing.text.BadLocationException;
|
||||
import javax.swing.text.Document;
|
||||
@@ -64,7 +65,15 @@ public class SketchCode {
|
||||
* Editor.undo will be set to this object when this code is the tab
|
||||
* that's currently the front.
|
||||
*/
|
||||
private UndoManager undo = new UndoManager();
|
||||
private final UndoManager undo = new UndoManager();
|
||||
|
||||
/**
|
||||
* Caret positions for this tab.
|
||||
* Editor.caretUndoStack and Editor.caretRedoStack will be set to these
|
||||
* when this code is the tab that's currently the front.
|
||||
*/
|
||||
private final Stack<Integer> caretUndoStack = new Stack<>();
|
||||
private final Stack<Integer> caretRedoStack = new Stack<>();
|
||||
|
||||
/** What was on top of the undo stack when last saved. */
|
||||
// private UndoableEdit lastEdit;
|
||||
@@ -238,6 +247,13 @@ public class SketchCode {
|
||||
return undo;
|
||||
}
|
||||
|
||||
public Stack<Integer> getCaretRedoStack() {
|
||||
return caretRedoStack;
|
||||
}
|
||||
|
||||
public Stack<Integer> getCaretUndoStack() {
|
||||
return caretUndoStack;
|
||||
}
|
||||
|
||||
// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
|
||||
|
||||
|
||||
@@ -513,14 +513,16 @@ public class ContributionListing {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
for (Library lib : base.getActiveEditor().getMode().contribLibraries) {
|
||||
if (hasUpdates(lib)) {
|
||||
count++;
|
||||
if (base.getActiveEditor() != null) {
|
||||
for (Library lib : base.getActiveEditor().getMode().contribLibraries) {
|
||||
if (hasUpdates(lib)) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
for (Library lib : base.getActiveEditor().getMode().coreLibraries) {
|
||||
if (hasUpdates(lib)) {
|
||||
count++;
|
||||
for (Library lib : base.getActiveEditor().getMode().coreLibraries) {
|
||||
if (hasUpdates(lib)) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
for (ToolContribution tc : base.getToolContribs()) {
|
||||
|
||||
@@ -138,8 +138,11 @@ public abstract class Editor extends JFrame implements RunnerListener {
|
||||
/** Menu Actions updated on the opening of the edit menu. */
|
||||
protected List<UpdatableAction> editMenuUpdatable = new ArrayList<>();
|
||||
|
||||
/** The currently selected tab's undo manager */
|
||||
/** The currently selected tab's undo manager and caret positions*/
|
||||
private UndoManager undo;
|
||||
// maintain caret position during undo operations
|
||||
private Stack<Integer> caretUndoStack = new Stack<>();
|
||||
private Stack<Integer> caretRedoStack = new Stack<>();
|
||||
// used internally for every edit. Groups hotkey-event text manipulations and
|
||||
// groups multi-character inputs into a single undos.
|
||||
private CompoundEdit compoundEdit;
|
||||
@@ -148,9 +151,6 @@ public abstract class Editor extends JFrame implements RunnerListener {
|
||||
private TimerTask endUndoEvent;
|
||||
// true if inserting text, false if removing text
|
||||
private boolean isInserting;
|
||||
// maintain caret position during undo operations
|
||||
private final Stack<Integer> caretUndoStack = new Stack<>();
|
||||
private final Stack<Integer> caretRedoStack = new Stack<>();
|
||||
|
||||
private FindReplace find;
|
||||
JMenu toolsMenu;
|
||||
@@ -1904,7 +1904,12 @@ public abstract class Editor extends JFrame implements RunnerListener {
|
||||
// textarea.requestFocus(); // get the caret blinking
|
||||
textarea.requestFocusInWindow(); // required for caret blinking
|
||||
|
||||
// end edits in the previous tab
|
||||
endTextEditHistory();
|
||||
// update the UndoManager and caret positions to the selected tab
|
||||
this.undo = code.getUndo();
|
||||
caretUndoStack = code.getCaretUndoStack();
|
||||
caretRedoStack = code.getCaretRedoStack();
|
||||
undoAction.updateUndoState();
|
||||
redoAction.updateRedoState();
|
||||
}
|
||||
|
||||
@@ -289,12 +289,16 @@ public class EditorFooter extends Box {
|
||||
FontRenderContext frc = g2.getFontRenderContext();
|
||||
final int GAP = Toolkit.zoom(5);
|
||||
final String updateLabel = "Updates";
|
||||
String updatesStr = "" + updateCount;
|
||||
//String updatesStr = " " + updateCount + " ";
|
||||
String updatesStr = " " + ((int) (Math.random() * 25)) + " ";
|
||||
double countWidth = font.getStringBounds(updatesStr, frc).getWidth();
|
||||
double countHeight = font.getStringBounds(updatesStr, frc).getHeight();
|
||||
if (fontAscent > countWidth) {
|
||||
countWidth = fontAscent;
|
||||
}
|
||||
float diameter = (float) (countWidth * 1.65f);
|
||||
// Using a variant of https://github.com/processing/processing/pull/4097
|
||||
final float CIRCULAR_PADDING = 1.5f;
|
||||
float diameter = (float) (2 * (Math.max(countHeight, countWidth)/2 + CIRCULAR_PADDING));
|
||||
float ex = getWidth() - Editor.RIGHT_GUTTER - diameter;
|
||||
float ey = (getHeight() - diameter) / 2;
|
||||
g2.setColor(updateColor);
|
||||
|
||||
+2
-2
@@ -30,13 +30,13 @@ You can choose to install these yourself or use the following guides below:
|
||||
One will also need to clone the repository for Processing itself. Some users who are simply building Processing but not contributing to it may prefer a "shallow" clone which does not copy the full history of the repository:
|
||||
|
||||
```
|
||||
git clone --depth 1 https://github.com/processing/processing.git
|
||||
git clone --depth 1 https://github.com/processing/processing4.git
|
||||
```
|
||||
|
||||
Users that are developing for the project may require a full clone:
|
||||
|
||||
```
|
||||
git clone https://github.com/processing/processing.git
|
||||
git clone https://github.com/processing/processing4.git
|
||||
```
|
||||
|
||||
<br>
|
||||
|
||||
+2
-4
@@ -79,15 +79,13 @@
|
||||
</and>
|
||||
</condition>
|
||||
|
||||
<!-- Could prompt here to download the necessary JDK... -->
|
||||
|
||||
<property name="examples.dir"
|
||||
value="../../processing-docs/content/examples" />
|
||||
|
||||
<property name="jdk.train" value="11" />
|
||||
<property name="jdk.version" value="0" />
|
||||
<property name="jdk.update" value="9.1" />
|
||||
<property name="jdk.build" value="1" />
|
||||
<property name="jdk.update" value="11" />
|
||||
<property name="jdk.build" value="9" />
|
||||
|
||||
<property name="jdk.prefix" value="jdk" />
|
||||
<property name="jdk.esoteric" value="${jdk.train}.${jdk.version}.${jdk.update}" />
|
||||
|
||||
@@ -126,6 +126,7 @@
|
||||
<fileset dir="src">
|
||||
<include name="processing/opengl/shaders/*.glsl" />
|
||||
<include name="processing/opengl/cursors/*.png" />
|
||||
<include name="font/ProcessingSansPro-*" />
|
||||
<include name="icon/*.png" />
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
@@ -0,0 +1,98 @@
|
||||
"Processing Sans" fonts are just "Source Sans", but renamed to
|
||||
prevent conflicts on Windows with other versions of Source Sans.
|
||||
https://github.com/processing/processing/issues/4747
|
||||
|
||||
|
||||
Copyright 2010, 2012, 2014 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
|
||||
This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
Binary file not shown.
@@ -1029,7 +1029,7 @@ public class PGraphicsJava2D extends PGraphics {
|
||||
*
|
||||
*
|
||||
* @webref Rendering
|
||||
* @webBrief Blends the pixels in the display window according to a defined mode.
|
||||
* @webBrief Blends the pixels in the display window according to a defined mode
|
||||
* @param mode the blending mode to use
|
||||
*/
|
||||
@Override
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -135,7 +135,7 @@ public interface PConstants {
|
||||
*
|
||||
* @webref constants
|
||||
* @webBrief PI is a mathematical constant with the value
|
||||
* 3.14159265358979323846.
|
||||
* 3.14159265358979323846
|
||||
* @see PConstants#TWO_PI
|
||||
* @see PConstants#TAU
|
||||
* @see PConstants#HALF_PI
|
||||
@@ -152,7 +152,7 @@ public interface PConstants {
|
||||
*
|
||||
* @webref constants
|
||||
* @webBrief HALF_PI is a mathematical constant with the value
|
||||
* 1.57079632679489661923.
|
||||
* 1.57079632679489661923
|
||||
* @see PConstants#PI
|
||||
* @see PConstants#TWO_PI
|
||||
* @see PConstants#TAU
|
||||
@@ -168,7 +168,7 @@ public interface PConstants {
|
||||
* <b>sin()</b> and <b>cos()</b>.
|
||||
*
|
||||
* @webref constants
|
||||
* @webBrief QUARTER_PI is a mathematical constant with the value 0.7853982.
|
||||
* @webBrief QUARTER_PI is a mathematical constant with the value 0.7853982
|
||||
* @see PConstants#PI
|
||||
* @see PConstants#TWO_PI
|
||||
* @see PConstants#TAU
|
||||
@@ -183,7 +183,7 @@ public interface PConstants {
|
||||
* <b>sin()</b> and <b>cos()</b>.
|
||||
*
|
||||
* @webref constants
|
||||
* @webBrief TWO_PI is a mathematical constant with the value 6.28318530717958647693.
|
||||
* @webBrief TWO_PI is a mathematical constant with the value 6.28318530717958647693
|
||||
* @see PConstants#PI
|
||||
* @see PConstants#TAU
|
||||
* @see PConstants#HALF_PI
|
||||
@@ -199,7 +199,7 @@ public interface PConstants {
|
||||
* <b>cos()</b>.
|
||||
*
|
||||
* @webref constants
|
||||
* @webBrief An alias for TWO_PI
|
||||
* @webBrief An alias for <b>TWO_PI</b>
|
||||
* @see PConstants#PI
|
||||
* @see PConstants#TWO_PI
|
||||
* @see PConstants#HALF_PI
|
||||
|
||||
@@ -72,7 +72,7 @@ import java.util.HashMap;
|
||||
* </PRE>
|
||||
*
|
||||
* @webref typography
|
||||
* @webBrief Grayscale bitmap font class used by Processing.
|
||||
* @webBrief Grayscale bitmap font class used by Processing
|
||||
* @see PApplet#loadFont(String)
|
||||
* @see PApplet#createFont(String, float, boolean, char[])
|
||||
* @see PGraphics#textFont(PFont)
|
||||
@@ -267,17 +267,18 @@ public class PFont implements PConstants {
|
||||
|
||||
if (charset == null) {
|
||||
lazy = true;
|
||||
// lazyFont = font;
|
||||
|
||||
} else {
|
||||
// charset needs to be sorted to make index lookup run more quickly
|
||||
// The charset needs to be sorted to make index lookup run quickly
|
||||
// http://dev.processing.org/bugs/show_bug.cgi?id=494
|
||||
Arrays.sort(charset);
|
||||
|
||||
glyphs = new Glyph[charset.length];
|
||||
// First make copy of charset[] so the user's array is not modified
|
||||
// https://github.com/processing/processing4/issues/197
|
||||
char[] sortedCharset = Arrays.copyOf(charset, charset.length);
|
||||
Arrays.sort(sortedCharset);
|
||||
|
||||
glyphs = new Glyph[sortedCharset.length];
|
||||
glyphCount = 0;
|
||||
for (char c : charset) {
|
||||
for (char c : sortedCharset) {
|
||||
if (font.canDisplay(c)) {
|
||||
Glyph glyf = new Glyph(c);
|
||||
if (glyf.value < 128) {
|
||||
@@ -289,31 +290,9 @@ public class PFont implements PConstants {
|
||||
}
|
||||
|
||||
// shorten the array if necessary
|
||||
if (glyphCount != charset.length) {
|
||||
if (glyphCount != sortedCharset.length) {
|
||||
glyphs = (Glyph[]) PApplet.subset(glyphs, 0, glyphCount);
|
||||
}
|
||||
|
||||
// foreign font, so just make ascent the max topExtent
|
||||
// for > 1.0.9, not doing this anymore.
|
||||
// instead using getAscent() and getDescent() values for these cases.
|
||||
// if ((ascent == 0) && (descent == 0)) {
|
||||
// //for (int i = 0; i < charCount; i++) {
|
||||
// for (Glyph glyph : glyphs) {
|
||||
// char cc = (char) glyph.value;
|
||||
// //char cc = (char) glyphs[i].value;
|
||||
// if (Character.isWhitespace(cc) ||
|
||||
// (cc == '\u00A0') || (cc == '\u2007') || (cc == '\u202F')) {
|
||||
// continue;
|
||||
// }
|
||||
// if (glyph.topExtent > ascent) {
|
||||
// ascent = glyph.topExtent;
|
||||
// }
|
||||
// int d = -glyph.topExtent + glyph.height;
|
||||
// if (d > descent) {
|
||||
// descent = d;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
// If not already created, just create these two characters to calculate
|
||||
@@ -876,7 +855,7 @@ public class PFont implements PConstants {
|
||||
*
|
||||
*
|
||||
* @webref pfont
|
||||
* @webBrief Gets a list of the fonts installed on the system.
|
||||
* @webBrief Gets a list of the fonts installed on the system
|
||||
* @usage application
|
||||
* @brief Gets a list of the fonts installed on the system
|
||||
*/
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -54,7 +54,7 @@ import processing.awt.ShimAWT;
|
||||
*
|
||||
*
|
||||
* @webref image
|
||||
* @webBrief Datatype for storing images.
|
||||
* @webBrief Datatype for storing images
|
||||
* @usage Web & Application
|
||||
* @instanceName pimg any object of type PImage
|
||||
* @see PApplet#loadImage(String)
|
||||
@@ -83,7 +83,7 @@ public class PImage implements PConstants, Cloneable {
|
||||
|
||||
/**
|
||||
*
|
||||
* The pixels[] array contains the values for all the pixels in the image. These
|
||||
* The <b>pixels[]</b> array contains the values for all the pixels in the image. These
|
||||
* values are of the color datatype. This array is the size of the image,
|
||||
* meaning if the image is 100 x 100 pixels, there will be 10,000 values and if
|
||||
* the window is 200 x 300 pixels, there will be 60,000 values. <br />
|
||||
@@ -96,7 +96,7 @@ public class PImage implements PConstants, Cloneable {
|
||||
*
|
||||
*
|
||||
* @webref image:pixels
|
||||
* @webBrief Array containing the color of every pixel in the image.
|
||||
* @webBrief Array containing the color of every pixel in the image
|
||||
* @usage web_application
|
||||
*/
|
||||
public int[] pixels;
|
||||
@@ -113,7 +113,7 @@ public class PImage implements PConstants, Cloneable {
|
||||
* The width of the image in units of pixels.
|
||||
*
|
||||
* @webref pimage:field
|
||||
* @webBrief The width of the image in units of pixels.
|
||||
* @webBrief The width of the image in units of pixels
|
||||
* @usage web_application
|
||||
*/
|
||||
public int width;
|
||||
@@ -123,7 +123,7 @@ public class PImage implements PConstants, Cloneable {
|
||||
* The height of the image in units of pixels.
|
||||
*
|
||||
* @webref pimage:field
|
||||
* @webBrief The height of the image in units of pixels.
|
||||
* @webBrief The height of the image in units of pixels
|
||||
* @usage web_application
|
||||
*/
|
||||
public int height;
|
||||
@@ -379,7 +379,7 @@ public class PImage implements PConstants, Cloneable {
|
||||
* copy all data into the pixels[] array
|
||||
*
|
||||
* @webref pimage:pixels
|
||||
* @webBrief Loads the pixel data for the image into its <b>pixels[]</b> array.
|
||||
* @webBrief Loads the pixel data for the image into its <b>pixels[]</b> array
|
||||
* @usage web_application
|
||||
*/
|
||||
public void loadPixels() { // ignore
|
||||
@@ -408,7 +408,7 @@ public class PImage implements PConstants, Cloneable {
|
||||
* future.
|
||||
*
|
||||
* @webref pimage:pixels
|
||||
* @webBrief Updates the image with the data in its <b>pixels[]</b> array.
|
||||
* @webBrief Updates the image with the data in its <b>pixels[]</b> array
|
||||
* @usage web_application
|
||||
* @param x x-coordinate of the upper-left corner
|
||||
* @param y y-coordinate of the upper-left corner
|
||||
@@ -464,17 +464,17 @@ public class PImage implements PConstants, Cloneable {
|
||||
* Resize the image to a new width and height. To make the image scale
|
||||
* proportionally, use 0 as the value for the <b>wide</b> or <b>high</b>
|
||||
* parameter. For instance, to make the width of an image 150 pixels, and
|
||||
* change the height using the same proportion, use resize(150, 0).<br />
|
||||
* change the height using the same proportion, use <b>resize(150, 0)</b>.<br />
|
||||
* <br />
|
||||
* Even though a PGraphics is technically a PImage, it is not possible to
|
||||
* rescale the image data found in a PGraphics. (It's simply not possible
|
||||
* Even though a PGraphics is technically a <b>PImage</b>, it is not possible to
|
||||
* rescale the image data found in a <b>PGraphics</b>. (It's simply not possible
|
||||
* to do this consistently across renderers: technically infeasible with
|
||||
* P3D, or what would it even do with PDF?) If you want to resize PGraphics
|
||||
* P3D, or what would it even do with PDF?) If you want to resize <b>PGraphics</b>
|
||||
* content, first get a copy of its image data using the <b>get()</b>
|
||||
* method, and call <b>resize()</b> on the PImage that is returned.
|
||||
*
|
||||
* @webref pimage:method
|
||||
* @webBrief Resize the image to a new width and height.
|
||||
* @webBrief Resize the image to a new width and height
|
||||
* @usage web_application
|
||||
* @param w the resized image width
|
||||
* @param h the resized image height
|
||||
@@ -551,7 +551,7 @@ public class PImage implements PConstants, Cloneable {
|
||||
* pixels[] array directly.
|
||||
*
|
||||
* @webref image:pixels
|
||||
* @webBrief Reads the color of any pixel or grabs a rectangle of pixels.
|
||||
* @webBrief Reads the color of any pixel or grabs a rectangle of pixels
|
||||
* @usage web_application
|
||||
* @param x x-coordinate of the pixel
|
||||
* @param y y-coordinate of the pixel
|
||||
@@ -1582,7 +1582,7 @@ public class PImage implements PConstants, Cloneable {
|
||||
*
|
||||
* @webref color:creating_reading
|
||||
* @webBrief Blends two color values together based on the blending mode given as the
|
||||
* <b>MODE</b> parameter.
|
||||
* <b>MODE</b> parameter
|
||||
* @usage web_application
|
||||
* @param c1 the first color to blend
|
||||
* @param c2 the second color to blend
|
||||
@@ -1631,16 +1631,16 @@ public class PImage implements PConstants, Cloneable {
|
||||
* of the following modes to blend the colors of source pixels (A) with the
|
||||
* ones of pixels in the destination image (B):<br />
|
||||
* <br />
|
||||
* BLEND - linear interpolation of colours: C = A*factor + B<br />
|
||||
* BLEND - linear interpolation of colours: <b>C = A*factor + B</b><br />
|
||||
* <br />
|
||||
* ADD - additive blending with white clip: C = min(A*factor + B, 255)<br />
|
||||
* ADD - additive blending with white clip: <b>C = min(A*factor + B, 255)</b><br />
|
||||
* <br />
|
||||
* SUBTRACT - subtractive blending with black clip: C = max(B - A*factor,
|
||||
* 0)<br />
|
||||
* SUBTRACT - subtractive blending with black clip: <b>C = max(B - A*factor,
|
||||
* 0)</b><br />
|
||||
* <br />
|
||||
* DARKEST - only the darkest colour succeeds: C = min(A*factor, B)<br />
|
||||
* DARKEST - only the darkest colour succeeds: <b>C = min(A*factor, B)</b><br />
|
||||
* <br />
|
||||
* LIGHTEST - only the lightest colour succeeds: C = max(A*factor, B)<br />
|
||||
* LIGHTEST - only the lightest colour succeeds: <b>C = max(A*factor, B)</b><br />
|
||||
* <br />
|
||||
* DIFFERENCE - subtract colors from underlying image.<br />
|
||||
* <br />
|
||||
@@ -1674,7 +1674,7 @@ public class PImage implements PConstants, Cloneable {
|
||||
*
|
||||
*
|
||||
* @webref image:pixels
|
||||
* @webBrief Copies a pixel or rectangle of pixels using different blending modes.
|
||||
* @webBrief Copies a pixel or rectangle of pixels using different blending modes
|
||||
* @param src an image variable referring to the source image
|
||||
* @param sx X coordinate of the source's upper left corner
|
||||
* @param sy Y coordinate of the source's upper left corner
|
||||
@@ -3289,7 +3289,7 @@ int testFunction(int dst, int src) {
|
||||
* file with no error.
|
||||
*
|
||||
* @webref pimage:method
|
||||
* @webBrief Saves the image to a TIFF, TARGA, PNG, or JPEG file.
|
||||
* @webBrief Saves the image to a TIFF, TARGA, PNG, or JPEG file
|
||||
* @usage application
|
||||
* @param filename a sequence of letters and numbers
|
||||
*/
|
||||
|
||||
@@ -87,7 +87,7 @@ import java.util.Base64;
|
||||
* </p>
|
||||
*
|
||||
* @webref shape
|
||||
* @webBrief Datatype for storing shapes.
|
||||
* @webBrief Datatype for storing shapes
|
||||
* @usage Web & Application
|
||||
* @see PApplet#loadShape(String)
|
||||
* @see PApplet#createShape()
|
||||
@@ -145,7 +145,7 @@ public class PShape implements PConstants {
|
||||
|
||||
/**
|
||||
*
|
||||
* The width of the PShape document.
|
||||
* The width of the <b>PShape</b> document.
|
||||
*
|
||||
* @webref pshape:field
|
||||
* @usage web_application
|
||||
@@ -155,7 +155,7 @@ public class PShape implements PConstants {
|
||||
public float width;
|
||||
/**
|
||||
*
|
||||
* The height of the PShape document.
|
||||
* The height of the <b>PShape</b> document.
|
||||
*
|
||||
* @webref pshape:field
|
||||
* @usage web_application
|
||||
@@ -400,7 +400,7 @@ public class PShape implements PConstants {
|
||||
|
||||
/**
|
||||
*
|
||||
* Returns a boolean value "true" if the image is set to be visible, "false" if
|
||||
* Returns a boolean value <b>true</b> if the image is set to be visible, <b>false</b> if
|
||||
* not. This value can be modified with the <b>setVisible()</b> method.<br />
|
||||
* <br />
|
||||
* The default visibility of a shape is usually controlled by whatever program
|
||||
@@ -409,8 +409,8 @@ public class PShape implements PConstants {
|
||||
*
|
||||
* @webref pshape:method
|
||||
* @usage web_application
|
||||
* @webBrief Returns a boolean value "true" if the image is set to be visible,
|
||||
* "false" if not
|
||||
* @webBrief Returns a boolean value <b>true</b> if the image is set to be visible,
|
||||
* <b>false</b> if not
|
||||
* @see PShape#setVisible(boolean)
|
||||
*/
|
||||
public boolean isVisible() {
|
||||
@@ -781,7 +781,7 @@ public class PShape implements PConstants {
|
||||
* function. It's always and only used with <b>createShape()</b>.
|
||||
*
|
||||
* @webref pshape:method
|
||||
* @webBrief Starts the creation of a new PShape
|
||||
* @webBrief Starts the creation of a new <b>PShape</b>
|
||||
* @see PApplet#endShape()
|
||||
*/
|
||||
public void beginShape() {
|
||||
@@ -799,7 +799,7 @@ public class PShape implements PConstants {
|
||||
* function. It's always and only used with <b>createShape()</b>.
|
||||
*
|
||||
* @webref pshape:method
|
||||
* @webBrief Finishes the creation of a new PShape
|
||||
* @webBrief Finishes the creation of a new <b>PShape</b>
|
||||
* @see PApplet#beginShape()
|
||||
*/
|
||||
public void endShape() {
|
||||
@@ -2005,7 +2005,7 @@ public class PShape implements PConstants {
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the number of children within the PShape.
|
||||
* Returns the number of children within the <b>PShape</b>.
|
||||
*
|
||||
* @webref
|
||||
* @webBrief Returns the number of children
|
||||
@@ -2037,7 +2037,7 @@ public class PShape implements PConstants {
|
||||
*
|
||||
* @webref pshape:method
|
||||
* @usage web_application
|
||||
* @webBrief Returns a child element of a shape as a PShape object
|
||||
* @webBrief Returns a child element of a shape as a <b>PShape</b> object
|
||||
* @param index the layer position of the shape to get
|
||||
* @see PShape#addChild(PShape)
|
||||
*/
|
||||
@@ -2256,7 +2256,7 @@ public class PShape implements PConstants {
|
||||
|
||||
/**
|
||||
* The <b>getVertexCount()</b> method returns the number of vertices that
|
||||
* make up a PShape. In the above example, the value 4 is returned by the
|
||||
* make up a <b>PShape</b>. In the above example, the value 4 is returned by the
|
||||
* <b>getVertexCount()</b> method because 4 vertices are defined in
|
||||
* <b>setup()</b>.
|
||||
*
|
||||
@@ -2274,7 +2274,7 @@ public class PShape implements PConstants {
|
||||
|
||||
|
||||
/**
|
||||
* The <b>getVertex()</b> method returns a PVector with the coordinates of
|
||||
* The <b>getVertex()</b> method returns a <b>PVector</b> with the coordinates of
|
||||
* the vertex point located at the position defined by the <b>index</b>
|
||||
* parameter. This method works when shapes are created as shown in the
|
||||
* example above, but won't work properly when a shape is defined explicitly
|
||||
@@ -3309,7 +3309,7 @@ public class PShape implements PConstants {
|
||||
/**
|
||||
*
|
||||
* Replaces the current matrix of a shape with the identity matrix. The
|
||||
* equivalent function in OpenGL is glLoadIdentity().
|
||||
* equivalent function in OpenGL is <b>glLoadIdentity()</b>.
|
||||
*
|
||||
* @webref pshape:method
|
||||
* @webBrief Replaces the current matrix of a shape with the identity matrix
|
||||
|
||||
@@ -62,7 +62,7 @@ import java.io.Serializable;
|
||||
* <a href="http://www.shiffman.net">Dan Shiffman</a>.
|
||||
*
|
||||
* @webref math
|
||||
* @webBrief A class to describe a two or three dimensional vector.
|
||||
* @webBrief A class to describe a two or three dimensional vector
|
||||
*/
|
||||
public class PVector implements Serializable {
|
||||
/**
|
||||
@@ -138,7 +138,7 @@ public class PVector implements Serializable {
|
||||
/**
|
||||
*
|
||||
* Sets the x, y, and z component of the vector using two or three separate
|
||||
* variables, the data from a PVector, or the values from a float array.
|
||||
* variables, the data from a <b>PVector</b>, or the values from a float array.
|
||||
*
|
||||
*
|
||||
* @webref pvector:method
|
||||
@@ -205,7 +205,7 @@ public class PVector implements Serializable {
|
||||
* @webref pvector:method
|
||||
* @usage web_application
|
||||
* @return the random PVector
|
||||
* @webBrief Make a new 2D unit vector with a random direction.
|
||||
* @webBrief Make a new 2D unit vector with a random direction
|
||||
* @see PVector#random3D()
|
||||
*/
|
||||
static public PVector random2D() {
|
||||
@@ -255,7 +255,7 @@ public class PVector implements Serializable {
|
||||
* @webref pvector:method
|
||||
* @usage web_application
|
||||
* @return the random PVector
|
||||
* @webBrief Make a new 3D unit vector with a random direction.
|
||||
* @webBrief Make a new 3D unit vector with a random direction
|
||||
* @see PVector#random2D()
|
||||
*/
|
||||
static public PVector random3D() {
|
||||
@@ -345,7 +345,7 @@ public class PVector implements Serializable {
|
||||
|
||||
/**
|
||||
*
|
||||
* Copies the components of the vector and returns the result as a PVector.
|
||||
* Copies the components of the vector and returns the result as a <b>PVector</b>.
|
||||
*
|
||||
*
|
||||
* @webref pvector:method
|
||||
@@ -420,7 +420,7 @@ public class PVector implements Serializable {
|
||||
*
|
||||
* Adds x, y, and z components to a vector, adds one vector to another, or adds
|
||||
* two independent vectors together. The version of the method that adds two
|
||||
* vectors together is a static method and returns a new PVector, the others act
|
||||
* vectors together is a static method and returns a new <b>PVector</b>, the others act
|
||||
* directly on the vector itself. See the examples for more context.
|
||||
*
|
||||
*
|
||||
@@ -488,7 +488,7 @@ public class PVector implements Serializable {
|
||||
*
|
||||
* Subtracts x, y, and z components from a vector, subtracts one vector from
|
||||
* another, or subtracts two independent vectors. The version of the method that
|
||||
* substracts two vectors is a static method and returns a PVector, the others
|
||||
* substracts two vectors is a static method and returns a <b>PVector</b>, the others
|
||||
* act directly on the vector. See the examples for more context. In all cases,
|
||||
* the second vector (v2) is subtracted from the first (v1), resulting in v1-v2.
|
||||
*
|
||||
@@ -557,8 +557,8 @@ public class PVector implements Serializable {
|
||||
*
|
||||
* Multiplies a vector by a scalar. The version of the method that uses a float
|
||||
* acts directly on the vector upon which it is called (as in the first example
|
||||
* above). The versions that receive both a PVector and a float as arguments are
|
||||
* static methods, and each returns a new PVector that is the result of the
|
||||
* above). The versions that receive both a <b>PVector</b> and a float as arguments are
|
||||
* static methods, and each returns a new <b>PVector</b> that is the result of the
|
||||
* multiplication operation. Both examples above produce the same visual output.
|
||||
*
|
||||
*
|
||||
@@ -601,8 +601,8 @@ public class PVector implements Serializable {
|
||||
*
|
||||
* Divides a vector by a scalar. The version of the method that uses a float
|
||||
* acts directly on the vector upon which it is called (as in the first example
|
||||
* above). The version that receives both a PVector and a float as arguments is
|
||||
* a static methods, and returns a new PVector that is the result of the
|
||||
* above). The version that receives both a <b>PVector</b> and a <b>float</b> as arguments is
|
||||
* a static methods, and returns a new <b>PVector</b> that is the result of the
|
||||
* division operation. Both examples above produce the same visual output.
|
||||
*
|
||||
* @webref pvector:method
|
||||
@@ -868,6 +868,14 @@ public class PVector implements Serializable {
|
||||
}
|
||||
|
||||
|
||||
public PVector setHeading(float angle) {
|
||||
float m = mag();
|
||||
x = (float) (m * Math.cos(angle));
|
||||
y = (float) (m * Math.sin(angle));
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* Rotate the vector by an angle (only 2D vectors), magnitude remains the same
|
||||
@@ -898,7 +906,7 @@ public class PVector implements Serializable {
|
||||
* static version is used by referencing the PVector class directly. (See the
|
||||
* middle example above.) The non-static versions, <b>lerp(v, amt)</b> and
|
||||
* <b>lerp(x, y, z, amt)</b>, do not create a new PVector, but transform the
|
||||
* values of the PVector on which they are called. These non-static versions
|
||||
* values of the <b>PVector</b> on which they are called. These non-static versions
|
||||
* perform the same operation, but the former takes another vector as input,
|
||||
* while the latter takes three float values. (See the top and bottom examples
|
||||
* above, respectively.)
|
||||
|
||||
@@ -9,12 +9,12 @@ import processing.core.PApplet;
|
||||
|
||||
|
||||
/**
|
||||
* A simple class to use a String as a lookup for an float value. String "keys"
|
||||
* A simple class to use a <b>String</b> as a lookup for a float value. String "keys"
|
||||
* are associated with floating-point values.
|
||||
*
|
||||
* @webref data:composite
|
||||
* @webBrief A simple table class to use a String as a lookup for an float
|
||||
* value.
|
||||
* @webBrief A simple table class to use a <b>String</b> as a lookup for a float
|
||||
* value
|
||||
* @see IntDict
|
||||
* @see StringDict
|
||||
*/
|
||||
@@ -415,7 +415,7 @@ public class FloatDict {
|
||||
|
||||
|
||||
/**
|
||||
* Add to a value. If the key does not exist, an new pair is initialized with
|
||||
* Add to a value. If the key does not exist, a new pair is initialized with
|
||||
* the value supplied.
|
||||
*
|
||||
* @webref floatdict:method
|
||||
|
||||
@@ -11,14 +11,14 @@ import processing.core.PApplet;
|
||||
|
||||
/**
|
||||
* Helper class for a list of floats. Lists are designed to have some of the
|
||||
* features of ArrayLists, but to maintain the simplicity and efficiency of
|
||||
* features of <b>ArrayLists</b>, but to maintain the simplicity and efficiency of
|
||||
* working with arrays.
|
||||
*
|
||||
* Functions like sort() and shuffle() always act on the list itself. To get
|
||||
* a sorted copy, use list.copy().sort().
|
||||
* Functions like <b>sort()</b> and <b>shuffle()</b> always act on the list itself. To get
|
||||
* a sorted copy, use <b>list.copy().sort()</b>.
|
||||
*
|
||||
* @webref data:composite
|
||||
* @webBrief Helper class for a list of floats.
|
||||
* @webBrief Helper class for a list of floats
|
||||
* @see IntList
|
||||
* @see StringList
|
||||
*/
|
||||
@@ -678,7 +678,7 @@ public class FloatList implements Iterable<Float> {
|
||||
* <b>reverse()</b>, but is more efficient than running each separately.
|
||||
*
|
||||
* @webref floatlist:method
|
||||
* @webBrief A sort in reverse.
|
||||
* @webBrief A sort in reverse
|
||||
*/
|
||||
public void sortReverse() {
|
||||
new Sort() {
|
||||
|
||||
@@ -9,11 +9,11 @@ import processing.core.PApplet;
|
||||
|
||||
|
||||
/**
|
||||
* A simple class to use a String as a lookup for an int value. String "keys" are
|
||||
* A simple class to use a <b>String</b> as a lookup for an int value. String "keys" are
|
||||
* associated with integer values.
|
||||
*
|
||||
* @webref data:composite
|
||||
* @webBrief A simple class to use a String as a lookup for an int value.
|
||||
* @webBrief A simple class to use a <b>String</b> as a lookup for an int value
|
||||
* @see FloatDict
|
||||
* @see StringDict
|
||||
*/
|
||||
|
||||
@@ -16,14 +16,14 @@ import processing.core.PApplet;
|
||||
|
||||
/**
|
||||
* Helper class for a list of ints. Lists are designed to have some of the
|
||||
* features of ArrayLists, but to maintain the simplicity and efficiency of
|
||||
* features of <b>ArrayLists</b>, but to maintain the simplicity and efficiency of
|
||||
* working with arrays.
|
||||
*
|
||||
* Functions like sort() and shuffle() always act on the list itself. To get
|
||||
* a sorted copy, use list.copy().sort().
|
||||
* Functions like <b>sort()</b> and <b>shuffle()</b> always act on the list itself. To get
|
||||
* a sorted copy, use <b>list.copy().sort()</b>.
|
||||
*
|
||||
* @webref data:composite
|
||||
* @webBrief Helper class for a list of ints.
|
||||
* @webBrief Helper class for a list of ints
|
||||
* @see FloatList
|
||||
* @see StringList
|
||||
*/
|
||||
|
||||
@@ -96,7 +96,7 @@ import processing.core.PApplet;
|
||||
* @author JSON.org
|
||||
* @version 2012-11-13
|
||||
* @webref data:composite
|
||||
* @webBrief A JSONArray is an ordered sequence of values.
|
||||
* @webBrief A JSONArray is an ordered sequence of values
|
||||
* @see JSONObject
|
||||
* @see PApplet#loadJSONObject(String)
|
||||
* @see PApplet#loadJSONArray(String)
|
||||
@@ -279,7 +279,7 @@ public class JSONArray {
|
||||
|
||||
|
||||
/**
|
||||
* Gets the String value associated with the specified index.
|
||||
* Gets the <b>String</b> value associated with the specified index.
|
||||
*
|
||||
* @webref jsonarray:method
|
||||
* @webBrief Gets the String value associated with an index
|
||||
@@ -317,7 +317,7 @@ public class JSONArray {
|
||||
* Gets the int value associated with the specified index.
|
||||
*
|
||||
* @webref jsonarray:method
|
||||
* @webBrief Gets the int value associated with the specified index.
|
||||
* @webBrief Gets the int value associated with the specified index
|
||||
* @param index must be between 0 and length() - 1
|
||||
* @return The value.
|
||||
* @throws RuntimeException If the key is not found or if the value is not a number.
|
||||
@@ -395,7 +395,7 @@ public class JSONArray {
|
||||
* Gets the float value associated with the specified index.
|
||||
*
|
||||
* @webref jsonarray:method
|
||||
* @webBrief Gets the float value associated with the specified index.
|
||||
* @webBrief Gets the float value associated with the specified index
|
||||
* @param index must be between 0 and length() - 1
|
||||
* @see JSONArray#getInt(int)
|
||||
* @see JSONArray#getString(int)
|
||||
@@ -457,7 +457,7 @@ public class JSONArray {
|
||||
* Gets the boolean value associated with the specified index.
|
||||
*
|
||||
* @webref jsonarray:method
|
||||
* @webBrief Gets the boolean value associated with the specified index.
|
||||
* @webBrief Gets the boolean value associated with the specified index
|
||||
* @param index must be between 0 and length() - 1
|
||||
* @return The truth.
|
||||
* @throws RuntimeException If there is no value for the index or if the
|
||||
@@ -503,7 +503,7 @@ public class JSONArray {
|
||||
* Retrieves the <b>JSONArray</b> with the associated index value.
|
||||
*
|
||||
* @webref jsonobject:method
|
||||
* @webBrief Retrieves the <b>JSONArray</b> with the associated index value.
|
||||
* @webBrief Retrieves the <b>JSONArray</b> with the associated index value
|
||||
* @param index must be between 0 and length() - 1
|
||||
* @return A JSONArray value.
|
||||
* @throws RuntimeException If there is no value for the index. or if the
|
||||
@@ -534,7 +534,7 @@ public class JSONArray {
|
||||
* Retrieves the <b>JSONObject</b> with the associated index value.
|
||||
*
|
||||
* @webref jsonobject:method
|
||||
* @webBrief Retrieves the <b>JSONObject</b> with the associated index value.
|
||||
* @webBrief Retrieves the <b>JSONObject</b> with the associated index value
|
||||
* @param index the index value of the object to get
|
||||
* @return A JSONObject value.
|
||||
* @throws RuntimeException If there is no value for the index or if the
|
||||
@@ -562,11 +562,11 @@ public class JSONArray {
|
||||
|
||||
|
||||
/**
|
||||
* Returns the entire <b>JSONArray</b> as an array of Strings.
|
||||
* (All values in the array must be of the String type.)
|
||||
* Returns the entire <b>JSONArray</b> as an array of <b>Strings</b>.
|
||||
* (All values in the array must be of the <b>String</b> type.)
|
||||
*
|
||||
* @webref jsonarray:method
|
||||
* @webBrief Returns the entire <b>JSONArray</b> as an array of Strings
|
||||
* @webBrief Returns the entire <b>JSONArray</b> as an array of <b>Strings</b>
|
||||
* @see JSONArray#getIntArray()
|
||||
*/
|
||||
public String[] getStringArray() {
|
||||
@@ -579,11 +579,11 @@ public class JSONArray {
|
||||
|
||||
|
||||
/**
|
||||
* Returns the entire <b>JSONArray</b> as an array of ints.
|
||||
* Returns the entire <b>JSONArray</b> as an array of <b>ints</b>.
|
||||
* (All values in the array must be of the int type.)
|
||||
*
|
||||
* @webref jsonarray:method
|
||||
* @webBrief Returns the entire <b>JSONArray</b> as an array of ints
|
||||
* @webBrief Returns the entire <b>JSONArray</b> as an array of <b>ints</b>
|
||||
* @see JSONArray#getStringArray()
|
||||
*/
|
||||
public int[] getIntArray() {
|
||||
@@ -702,8 +702,8 @@ public class JSONArray {
|
||||
|
||||
/**
|
||||
* Appends a new value to the <b>JSONArray</b>, increasing the array's length
|
||||
* by one. New values may be of the following types: int, float, String,
|
||||
* boolean, <b>JSONObject</b>, or <b>JSONArray</b>.
|
||||
* by one. New values may be of the following types: <b>int</b>, <b>float</b>, <b>String</b>,
|
||||
* <b>boolean</b>, <b>JSONObject</b>, or <b>JSONArray</b>.
|
||||
*
|
||||
* @webref jsonarray:method
|
||||
* @webBrief Appends a value, increasing the array's length by one
|
||||
@@ -862,7 +862,7 @@ public class JSONArray {
|
||||
* necessary to pad it out.
|
||||
*
|
||||
* @webref jsonarray:method
|
||||
* @webBrief Inserts a new value into the <b>JSONArray</b> at the specified index position.
|
||||
* @webBrief Inserts a new value into the <b>JSONArray</b> at the specified index position
|
||||
* @param index an index value
|
||||
* @param value the value to assign
|
||||
* @return this.
|
||||
@@ -1080,7 +1080,7 @@ public class JSONArray {
|
||||
|
||||
/**
|
||||
* Removes the element from a <b>JSONArray</b> in the specified index position.
|
||||
* Returns either the value associated with the given index, or null, if there
|
||||
* Returns either the value associated with the given index, or <b>null</b>, if there
|
||||
* is no value.
|
||||
*
|
||||
* @webref jsonarray:method
|
||||
|
||||
@@ -52,7 +52,7 @@ import processing.core.PApplet;
|
||||
|
||||
/**
|
||||
* A <b>JSONObject</b> stores JSON data with multiple name/value pairs. Values
|
||||
* can be numeric, Strings, booleans, other <b>JSONObject</b>s or
|
||||
* can be numeric, <b>Strings</b>, <b>booleans</b>, other <b>JSONObject</b>s or
|
||||
* <b>JSONArray</b>s, or null. <b>JSONObject</b> and <b>JSONArray</b> objects
|
||||
* are quite similar and share most of the same methods; the primary difference
|
||||
* is that the latter stores an array of JSON objects, while the former
|
||||
@@ -116,7 +116,7 @@ import processing.core.PApplet;
|
||||
* @author JSON.org
|
||||
* @version 2012-12-01
|
||||
* @webref data:composite
|
||||
* @webBrief A JSONObject is an unordered collection of name/value pairs.
|
||||
* @webBrief A <b>JSONObject</b> is an unordered collection of name/value pairs
|
||||
* @see JSONArray
|
||||
* @see PApplet#loadJSONObject(String)
|
||||
* @see PApplet#loadJSONArray(String)
|
||||
@@ -567,10 +567,10 @@ public class JSONObject {
|
||||
|
||||
|
||||
/**
|
||||
* Gets the String value associated with the specified key.
|
||||
* Gets the <b>String</b> value associated with the specified key.
|
||||
*
|
||||
* @webref jsonobject:method
|
||||
* @webBrief Gets the String value associated with the specified key
|
||||
* @webBrief Gets the <b>String</b> value associated with the specified key
|
||||
* @param key a key string
|
||||
* @return A string which is the value.
|
||||
* @throws RuntimeException if there is no string value for the key.
|
||||
@@ -606,10 +606,10 @@ public class JSONObject {
|
||||
|
||||
|
||||
/**
|
||||
* Gets the int value associated with the specified key.
|
||||
* Gets the <b>int</b> value associated with the specified key.
|
||||
*
|
||||
* @webref jsonobject:method
|
||||
* @webBrief Gets the int value associated with the specified key
|
||||
* @webBrief Gets the <b>int</b> value associated with the specified key
|
||||
* @param key A key string.
|
||||
* @return The integer value.
|
||||
* @throws RuntimeException if the key is not found or if the value cannot
|
||||
@@ -691,10 +691,10 @@ public class JSONObject {
|
||||
|
||||
|
||||
/**
|
||||
* Gets the float value associated with the specified key
|
||||
* Gets the <b>float</b> value associated with the specified key
|
||||
*
|
||||
* @webref jsonobject:method
|
||||
* @webBrief Gets the float value associated with a key
|
||||
* @webBrief Gets the <b>float</b> value associated with a key
|
||||
* @param key a key string
|
||||
* @see JSONObject#getInt(String)
|
||||
* @see JSONObject#getString(String)
|
||||
@@ -753,10 +753,10 @@ public class JSONObject {
|
||||
|
||||
|
||||
/**
|
||||
* Gets the boolean value associated with the specified key.
|
||||
* Gets the <b>boolean</b> value associated with the specified key.
|
||||
*
|
||||
* @webref jsonobject:method
|
||||
* @webBrief Gets the boolean value associated with the specified key
|
||||
* @webBrief Gets the <b>boolean</b> value associated with the specified key
|
||||
* @param key a key string
|
||||
* @return The truth.
|
||||
* @throws RuntimeException if the value is not a Boolean or the String "true" or "false".
|
||||
@@ -933,7 +933,7 @@ public class JSONObject {
|
||||
*
|
||||
* @webref
|
||||
* @webBrief Determines if the value associated with the key is <b>null</b>, that is has
|
||||
* no defined value (<b>false</b>) or if it has a value (<b>true</b>).
|
||||
* no defined value (<b>false</b>) or if it has a value (<b>true</b>)
|
||||
* @param key A key string.
|
||||
* @return true if there is no value associated with the key or if
|
||||
* the value is the JSONObject.NULL object.
|
||||
@@ -1227,7 +1227,7 @@ public class JSONObject {
|
||||
* the specified key already exists, assigns a new value.
|
||||
*
|
||||
* @webref jsonobject:method
|
||||
* @webBrief Put a key/float pair in the JSONObject
|
||||
* @webBrief Put a key/float pair in the <b>JSONObject</b>
|
||||
* @param key a key string
|
||||
* @param value the value to assign
|
||||
* @throws RuntimeException If the key is null or if the number is NaN or infinite.
|
||||
@@ -1260,7 +1260,7 @@ public class JSONObject {
|
||||
* with the specified key already exists, assigns a new value.
|
||||
*
|
||||
* @webref jsonobject:method
|
||||
* @webBrief Put a key/boolean pair in the JSONObject
|
||||
* @webBrief Put a key/boolean pair in the <b>JSONObject</b>
|
||||
* @param key a key string
|
||||
* @param value the value to assign
|
||||
* @return this.
|
||||
|
||||
@@ -710,7 +710,7 @@ public class LongList implements Iterable<Long> {
|
||||
|
||||
/**
|
||||
* Randomize the order of the list elements. Note that this does not
|
||||
* obey the randomSeed() function in PApplet.
|
||||
* obey the <b>randomSeed()</b> function in PApplet.
|
||||
*
|
||||
* @webref intlist:method
|
||||
* @webBrief Randomize the order of the list elements
|
||||
|
||||
@@ -9,11 +9,11 @@ import processing.core.PApplet;
|
||||
|
||||
|
||||
/**
|
||||
* A simple class to use a String as a lookup for an String value. String "keys"
|
||||
* are associated with String values.
|
||||
* A simple class to use a <b>String</b> as a lookup for a <b>String</b> value. String "keys"
|
||||
* are associated with <b>String</b> values.
|
||||
*
|
||||
* @webref data:composite
|
||||
* @webBrief A simple class to use a String as a lookup for an String value
|
||||
* @webBrief A simple class to use a <b>String</b> as a lookup for an <b>String</b> value
|
||||
* @see IntDict
|
||||
* @see FloatDict
|
||||
*/
|
||||
|
||||
@@ -9,15 +9,15 @@ import java.util.Random;
|
||||
import processing.core.PApplet;
|
||||
|
||||
/**
|
||||
* Helper class for a list of Strings. Lists are designed to have some of the
|
||||
* features of ArrayLists, but to maintain the simplicity and efficiency of
|
||||
* Helper class for a list of <b>Strings</b>. Lists are designed to have some of the
|
||||
* features of <b>ArrayLists</b>, but to maintain the simplicity and efficiency of
|
||||
* working with arrays.
|
||||
*
|
||||
* Functions like sort() and shuffle() always act on the list itself. To get
|
||||
* a sorted copy, use list.copy().sort().
|
||||
* Functions like <b>sort()</b> and <b>shuffle()</b> always act on the list itself. To get
|
||||
* a sorted copy, use <b>list.copy().sort()</b>.
|
||||
*
|
||||
* @webref data:composite
|
||||
* @webBrief Helper class for a list of Strings.
|
||||
* @webBrief Helper class for a list of Strings
|
||||
* @see IntList
|
||||
* @see FloatList
|
||||
*/
|
||||
@@ -149,7 +149,7 @@ public class StringList implements Iterable<String> {
|
||||
/**
|
||||
* Set the entry at a particular index. If the index is past the length of
|
||||
* the list, it'll expand the list to accommodate, and fill the intermediate
|
||||
* entries with "null".
|
||||
* entries with <b>null</b>.
|
||||
*
|
||||
* @webref stringlist:method
|
||||
* @webBrief Set an entry at a particular index
|
||||
|
||||
@@ -76,7 +76,7 @@ import processing.core.PConstants;
|
||||
*
|
||||
* @webref data:composite
|
||||
* @webBrief Generic class for handling tabular data, typically from a CSV, TSV,
|
||||
* or other sort of spreadsheet file.
|
||||
* or other sort of spreadsheet file
|
||||
* @see PApplet#loadTable(String)
|
||||
* @see PApplet#saveTable(Table, String)
|
||||
* @see TableRow
|
||||
@@ -1806,9 +1806,9 @@ public class Table {
|
||||
* Use <b>addColumn()</b> to add a new column to a <b>Table</b> object.
|
||||
* Typically, you will want to specify a title, so the column may be easily
|
||||
* referenced later by name. (If no title is specified, the new column's title
|
||||
* will be null.) A column type may also be specified, in which case all values
|
||||
* stored in this column must be of the same type (e.g., Table.INT or
|
||||
* Table.FLOAT). If no type is specified, the default type of STRING is used.
|
||||
* will be <b>null</b>.) A column type may also be specified, in which case all values
|
||||
* stored in this column must be of the same type (e.g., <b>Table.INT</b> or
|
||||
* <b>Table.FLOAT</b>). If no type is specified, the default type of <b>STRING</b> is used.
|
||||
*
|
||||
* @webref table:method
|
||||
* @webBrief Adds a new column to a table
|
||||
@@ -1886,7 +1886,7 @@ public class Table {
|
||||
/**
|
||||
* Use <b>removeColumn()</b> to remove an existing column from a <b>Table</b>
|
||||
* object. The column to be removed may be identified by either its title (a
|
||||
* String) or its index value (an int). <b>removeColumn(0)</b> would remove the
|
||||
* <b>String</b>) or its index value (an <b>int</b>). <b>removeColumn(0)</b> would remove the
|
||||
* first column, <b>removeColumn(1)</b> would remove the second column, and so
|
||||
* on.
|
||||
*
|
||||
@@ -2285,10 +2285,10 @@ public class Table {
|
||||
// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
|
||||
|
||||
/**
|
||||
* Returns the total number of rows in a table.
|
||||
* Returns the total number of rows in a <b>Table</b>.
|
||||
*
|
||||
* @webref table:method
|
||||
* @webBrief Returns the total number of rows in a table
|
||||
* @webBrief Returns the total number of rows in a <b>Table</b>
|
||||
* @see Table#getColumnCount()
|
||||
*/
|
||||
public int getRowCount() {
|
||||
@@ -3609,7 +3609,7 @@ public class Table {
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves all values in the specified column, and returns them as a String
|
||||
* Retrieves all values in the specified column, and returns them as a <b>String</b>
|
||||
* array. The column may be specified by either its ID or title.
|
||||
*
|
||||
* @webref table:method
|
||||
|
||||
@@ -4,13 +4,13 @@ import java.io.PrintWriter;
|
||||
|
||||
/**
|
||||
* A <b>TableRow</b> object represents a single row of data values,
|
||||
* stored in columns, from a table.<br />
|
||||
* stored in columns, from a <b>Table</b>.<br />
|
||||
* <br />
|
||||
* Additional <b>TableRow</b> methods are documented in the
|
||||
* <a href="http://processing.github.io/processing-javadocs/core/">Processing Data Javadoc</a>.
|
||||
*
|
||||
* @webref data:composite
|
||||
* @webBrief represents a single row of data values, stored in columns, from a table.
|
||||
* @webBrief Represents a single row of data values, stored in columns, from a <b>Table<b>
|
||||
* @see Table
|
||||
* @see Table#addRow()
|
||||
* @see Table#removeRow(int)
|
||||
@@ -25,7 +25,7 @@ public interface TableRow {
|
||||
* The column may be specified by either its ID or title.
|
||||
*
|
||||
* @webref tablerow:method
|
||||
* @webBrief Get an String value from the specified column
|
||||
* @webBrief Get a <b>String</b> value from the specified column
|
||||
* @param column ID number of the column to reference
|
||||
* @see TableRow#getInt(int)
|
||||
* @see TableRow#getFloat(int)
|
||||
@@ -42,7 +42,7 @@ public interface TableRow {
|
||||
* The column may be specified by either its ID or title.
|
||||
*
|
||||
* @webref tablerow:method
|
||||
* @webBrief Get an integer value from the specified column
|
||||
* @webBrief Get an <b>integer</b> value from the specified column
|
||||
* @param column ID number of the column to reference
|
||||
* @see TableRow#getFloat(int)
|
||||
* @see TableRow#getString(int)
|
||||
@@ -55,7 +55,7 @@ public interface TableRow {
|
||||
public int getInt(String columnName);
|
||||
|
||||
/**
|
||||
* @webBrief Get a long value from the specified column
|
||||
* @webBrief Get a <b>long</b> value from the specified column
|
||||
* @param column ID number of the column to reference
|
||||
* @see TableRow#getFloat(int)
|
||||
* @see TableRow#getString(int)
|
||||
@@ -73,7 +73,7 @@ public interface TableRow {
|
||||
* The column may be specified by either its ID or title.
|
||||
*
|
||||
* @webref tablerow:method
|
||||
* @webBrief Get a float value from the specified column
|
||||
* @webBrief Get a <b>float</b> value from the specified column
|
||||
* @param column ID number of the column to reference
|
||||
* @see TableRow#getInt(int)
|
||||
* @see TableRow#getString(int)
|
||||
@@ -86,7 +86,7 @@ public interface TableRow {
|
||||
public float getFloat(String columnName);
|
||||
|
||||
/**
|
||||
* @webBrief Get a double value from the specified column
|
||||
* @webBrief Get a <b>double</b> value from the specified column
|
||||
* @param column ID number of the column to reference
|
||||
* @see TableRow#getInt(int)
|
||||
* @see TableRow#getString(int)
|
||||
@@ -99,11 +99,11 @@ public interface TableRow {
|
||||
public double getDouble(String columnName);
|
||||
|
||||
/**
|
||||
* Stores a String value in the <b>TableRow</b>'s specified column. The column
|
||||
* Stores a <b>String</b> value in the <b>TableRow</b>'s specified column. The column
|
||||
* may be specified by either its ID or title.
|
||||
*
|
||||
* @webref tablerow:method
|
||||
* @webBrief Store a String value in the specified column
|
||||
* @webBrief Store a <b>String</b> value in the specified column
|
||||
* @param column ID number of the target column
|
||||
* @param value value to assign
|
||||
* @see TableRow#setInt(int, int)
|
||||
@@ -116,11 +116,11 @@ public interface TableRow {
|
||||
public void setString(String columnName, String value);
|
||||
|
||||
/**
|
||||
* Stores an integer value in the <b>TableRow</b>'s specified column. The column
|
||||
* Stores an <b>integer</b> value in the <b>TableRow</b>'s specified column. The column
|
||||
* may be specified by either its ID or title.
|
||||
*
|
||||
* @webref tablerow:method
|
||||
* @webBrief Store an integer value in the specified column
|
||||
* @webBrief Store an <b>integer</b> value in the specified column
|
||||
* @param column ID number of the target column
|
||||
* @param value value to assign
|
||||
* @see TableRow#setFloat(int, float)
|
||||
@@ -134,7 +134,7 @@ public interface TableRow {
|
||||
public void setInt(String columnName, int value);
|
||||
|
||||
/**
|
||||
* @webBrief Store a long value in the specified column
|
||||
* @webBrief Store a <b>long</b> value in the specified column
|
||||
* @param column ID number of the target column
|
||||
* @param value value to assign
|
||||
* @see TableRow#setFloat(int, float)
|
||||
@@ -148,11 +148,11 @@ public interface TableRow {
|
||||
public void setLong(String columnName, long value);
|
||||
|
||||
/**
|
||||
* Stores a float value in the <b>TableRow</b>'s specified column. The column
|
||||
* Stores a <b>float</b> value in the <b>TableRow</b>'s specified column. The column
|
||||
* may be specified by either its ID or title.
|
||||
*
|
||||
* @webref tablerow:method
|
||||
* @webBrief Store a float value in the specified column
|
||||
* @webBrief Store a <b>float</b> value in the specified column
|
||||
* @param column ID number of the target column
|
||||
* @param value value to assign
|
||||
* @see TableRow#setInt(int, int)
|
||||
@@ -166,7 +166,7 @@ public interface TableRow {
|
||||
public void setFloat(String columnName, float value);
|
||||
|
||||
/**
|
||||
* @webBrief Store a double value in the specified column
|
||||
* @webBrief Store a <b>double</b> value in the specified column
|
||||
* @param column ID number of the target column
|
||||
* @param value value to assign
|
||||
* @see TableRow#setFloat(int, float)
|
||||
@@ -183,13 +183,13 @@ public interface TableRow {
|
||||
* Returns the number of columns in a <b>TableRow</b>.
|
||||
*
|
||||
* @webref tablerow:method
|
||||
* @webBrief Get the column count.
|
||||
* @webBrief Get the column count
|
||||
* @return count of all columns
|
||||
*/
|
||||
public int getColumnCount();
|
||||
|
||||
/**
|
||||
* @webBrief Get the column type.
|
||||
* @webBrief Get the column type
|
||||
* @param columnName title of the target column
|
||||
* @return type of the column
|
||||
*/
|
||||
|
||||
@@ -41,16 +41,16 @@ import processing.core.PApplet;
|
||||
|
||||
|
||||
/**
|
||||
* <b>XML</b> is a representation of an XML object, able to parse XML code. Use
|
||||
* <b>XML</b> is a representation of an <b>XML</b> object, able to parse <b>XML</b> code. Use
|
||||
* <b>loadXML()</b> to load external XML files and create <b>XML</b>
|
||||
* objects.<br />
|
||||
* <br />
|
||||
* Only files encoded as UTF-8 (or plain ASCII) are parsed properly; the
|
||||
* encoding parameter inside XML files is ignored.
|
||||
* encoding parameter inside <b>XML</b> files is ignored.
|
||||
*
|
||||
* @webref data:composite
|
||||
* @webBrief This is the base class used for the Processing XML library,
|
||||
* representing a single node of an XML tree.
|
||||
* representing a single node of an <b>XML</b> tree
|
||||
* @see PApplet#loadXML(String)
|
||||
* @see PApplet#parseXML(String)
|
||||
* @see PApplet#saveXML(XML, String)
|
||||
@@ -253,10 +253,10 @@ public class XML implements Serializable {
|
||||
|
||||
|
||||
/**
|
||||
* Converts String content to an XML object
|
||||
* Converts <b>String</b> content to an <b>XML</b> object
|
||||
*
|
||||
* @webref xml:method
|
||||
* @webBrief Converts String content to an XML object
|
||||
* @webBrief Converts <b>String</b> content to an <b>XML</b> object
|
||||
* @param data the content to be parsed as XML
|
||||
* @return an XML object, or null
|
||||
* @throws SAXException
|
||||
@@ -305,7 +305,7 @@ public class XML implements Serializable {
|
||||
|
||||
|
||||
/**
|
||||
* Gets a copy of the element's parent. Returns the parent as another XML object.
|
||||
* Gets a copy of the element's parent. Returns the parent as another <b>XML</b> object.
|
||||
*
|
||||
* @webref xml:method
|
||||
* @webBrief Gets a copy of the element's parent
|
||||
@@ -323,7 +323,7 @@ public class XML implements Serializable {
|
||||
|
||||
|
||||
/**
|
||||
* Gets the element's full name, which is returned as a String.
|
||||
* Gets the element's full name, which is returned as a <b>String</b>.
|
||||
*
|
||||
* @webref xml:method
|
||||
* @webBrief Gets the element's full name
|
||||
@@ -335,7 +335,7 @@ public class XML implements Serializable {
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the element's name, which is specified as a String.
|
||||
* Sets the element's name, which is specified as a <b>String</b>.
|
||||
*
|
||||
* @webref xml:method
|
||||
* @webBrief Sets the element's name
|
||||
@@ -388,7 +388,7 @@ public class XML implements Serializable {
|
||||
|
||||
|
||||
/**
|
||||
* Checks whether or not the element has any children, and returns the result as a boolean.
|
||||
* Checks whether or not the element has any children, and returns the result as a <b>boolean</b>.
|
||||
*
|
||||
* @webref xml:method
|
||||
* @webBrief Checks whether or not an element has any children
|
||||
@@ -401,7 +401,7 @@ public class XML implements Serializable {
|
||||
|
||||
/**
|
||||
* Get the names of all of the element's children, and returns the names as an
|
||||
* array of Strings. This is the same as looping through and calling getName()
|
||||
* array of <b>Strings</b>. This is the same as looping through and calling <b>getName()</b>
|
||||
* on each child element individually.
|
||||
*
|
||||
* @webref xml:method
|
||||
@@ -427,7 +427,7 @@ public class XML implements Serializable {
|
||||
|
||||
|
||||
/**
|
||||
* Returns all of the element's children as an array of XML objects. When
|
||||
* Returns all of the element's children as an array of <b>XML</b> objects. When
|
||||
* the <b>name</b> parameter is specified, then it will return all children
|
||||
* that match that name or path. The path is a series of elements and
|
||||
* sub-elements, separated by slashes.
|
||||
@@ -572,10 +572,10 @@ public class XML implements Serializable {
|
||||
|
||||
/**
|
||||
* Appends a new child to the element. The child can be specified with either a
|
||||
* String, which will be used as the new tag's name, or as a reference to an
|
||||
* existing XML object.<br />
|
||||
* <b>String</b>, which will be used as the new tag's name, or as a reference to an
|
||||
* existing <b>XML</b> object.<br />
|
||||
* <br />
|
||||
* A reference to the newly created child is returned as an XML object.
|
||||
* A reference to the newly created child is returned as an <b>XML</b> object.
|
||||
*
|
||||
* @webref xml:method
|
||||
* @webBrief Appends a new child to the element
|
||||
@@ -695,7 +695,7 @@ public class XML implements Serializable {
|
||||
|
||||
|
||||
/**
|
||||
* Counts the specified element's number of attributes, returned as an int.
|
||||
* Counts the specified element's number of attributes, returned as an <b>int</b>.
|
||||
*
|
||||
* @webref xml:method
|
||||
* @webBrief Counts the specified element's number of attributes
|
||||
@@ -706,7 +706,7 @@ public class XML implements Serializable {
|
||||
|
||||
|
||||
/**
|
||||
* Gets all of the specified element's attributes, and returns them as an array of Strings.
|
||||
* Gets all of the specified element's attributes, and returns them as an array of <b>Strings</b>.
|
||||
*
|
||||
* @webref xml:method
|
||||
* @webBrief Returns a list of names of all attributes as an array
|
||||
@@ -722,7 +722,7 @@ public class XML implements Serializable {
|
||||
|
||||
/**
|
||||
* Checks whether or not an element has the specified attribute. The attribute
|
||||
* must be specified as a String, and a boolean is returned.
|
||||
* must be specified as a <b>String</b>, and a <b>boolean</b> is returned.
|
||||
*
|
||||
* @webref xml:method
|
||||
* @webBrief Checks whether or not an element has the specified attribute
|
||||
@@ -757,13 +757,13 @@ public class XML implements Serializable {
|
||||
|
||||
|
||||
/**
|
||||
* Returns an attribute value of the element as a String. If the <b>defaultValue</b>
|
||||
* Returns an attribute value of the element as a <b>String</b>. If the <b>defaultValue</b>
|
||||
* parameter is specified and the attribute doesn't exist, then <b>defaultValue</b>
|
||||
* is returned. If no <b>defaultValue</b> is specified and the attribute doesn't
|
||||
* exist, null is returned.
|
||||
* exist, <b>null</b> is returned.
|
||||
*
|
||||
* @webref xml:method
|
||||
* @webBrief Gets the content of an attribute as a String
|
||||
* @webBrief Gets the content of an attribute as a <b>String</b>
|
||||
*/
|
||||
public String getString(String name) {
|
||||
return getString(name, null);
|
||||
@@ -783,11 +783,11 @@ public class XML implements Serializable {
|
||||
|
||||
|
||||
/**
|
||||
* Sets the content of an element's attribute as a String. The first String
|
||||
* Sets the content of an element's attribute as a <b>String</b>. The first <b>String</b>
|
||||
* specifies the attribute name, while the second specifies the new content.
|
||||
*
|
||||
* @webref xml:method
|
||||
* @webBrief Sets the content of an attribute as a String
|
||||
* @webBrief Sets the content of an attribute as a <b>String</b>
|
||||
*/
|
||||
public void setString(String name, String value) {
|
||||
((Element) node).setAttribute(name, value);
|
||||
@@ -795,13 +795,13 @@ public class XML implements Serializable {
|
||||
|
||||
|
||||
/**
|
||||
* Returns an attribute value of the element as an int. If the <b>defaultValue</b>
|
||||
* Returns an attribute value of the element as an <b>int</b>. If the <b>defaultValue</b>
|
||||
* parameter is specified and the attribute doesn't exist, then <b>defaultValue</b>
|
||||
* is returned. If no <b>defaultValue</b> is specified and the attribute doesn't
|
||||
* exist, the value 0 is returned.
|
||||
*
|
||||
* @webref xml:method
|
||||
* @webBrief Gets the content of an attribute as an int
|
||||
* @webBrief Gets the content of an attribute as an <b>int</b>
|
||||
*/
|
||||
public int getInt(String name) {
|
||||
return getInt(name, 0);
|
||||
@@ -809,11 +809,11 @@ public class XML implements Serializable {
|
||||
|
||||
|
||||
/**
|
||||
* Sets the content of an element's attribute as an int. A String specifies
|
||||
* Sets the content of an element's attribute as an <b>int</b>. A <b>String</b> specifies
|
||||
* the attribute name, while the int specifies the new content.
|
||||
*
|
||||
* @webref xml:method
|
||||
* @webBrief Sets the content of an attribute as an int
|
||||
* @webBrief Sets the content of an attribute as an <b>int</b>
|
||||
*/
|
||||
public void setInt(String name, int value) {
|
||||
setString(name, String.valueOf(value));
|
||||
@@ -834,10 +834,10 @@ public class XML implements Serializable {
|
||||
|
||||
|
||||
/**
|
||||
* Sets the content of an element as an int
|
||||
* Sets the content of an element as an <b>int</b>
|
||||
*
|
||||
* @webref xml:method
|
||||
* @webBrief Sets the content of an element as an int
|
||||
* @webBrief Sets the content of an element as an <b>int</b>
|
||||
*/
|
||||
public void setLong(String name, long value) {
|
||||
setString(name, String.valueOf(value));
|
||||
@@ -864,7 +864,7 @@ public class XML implements Serializable {
|
||||
* and the attribute doesn't exist, the value 0.0 is returned.
|
||||
*
|
||||
* @webref xml:method
|
||||
* @webBrief Gets the content of an attribute as a float
|
||||
* @webBrief Gets the content of an attribute as a <b>float</b>
|
||||
*/
|
||||
public float getFloat(String name) {
|
||||
return getFloat(name, 0);
|
||||
@@ -885,11 +885,11 @@ public class XML implements Serializable {
|
||||
|
||||
|
||||
/**
|
||||
* Sets the content of an element's attribute as a float. A String specifies
|
||||
* the attribute name, while the float specifies the new content.
|
||||
* Sets the content of an element's attribute as a <b>float</b>. A <b>String</b> specifies
|
||||
* the attribute name, while the <b>float</b> specifies the new content.
|
||||
*
|
||||
* @webref xml:method
|
||||
* @webBrief Sets the content of an attribute as a float
|
||||
* @webBrief Sets the content of an attribute as a <b>float</b>
|
||||
*/
|
||||
public void setFloat(String name, float value) {
|
||||
setString(name, String.valueOf(value));
|
||||
@@ -941,11 +941,11 @@ public class XML implements Serializable {
|
||||
|
||||
|
||||
/**
|
||||
* Returns the content of an element as an int. If there is no such content,
|
||||
* Returns the content of an element as an <b>int</b>. If there is no such content,
|
||||
* either <b>null</b> or the provided default value is returned.
|
||||
*
|
||||
* @webref xml:method
|
||||
* @webBrief Gets the content of an element as an int
|
||||
* @webBrief Gets the content of an element as an <b>int</b>
|
||||
* @return the content.
|
||||
* @see XML#getContent()
|
||||
* @see XML#getFloatContent()
|
||||
@@ -964,11 +964,11 @@ public class XML implements Serializable {
|
||||
|
||||
|
||||
/**
|
||||
* Returns the content of an element as a float. If there is no such content,
|
||||
* Returns the content of an element as a <b>float</b>. If there is no such content,
|
||||
* either <b>null</b> or the provided default value is returned.
|
||||
*
|
||||
* @webref xml:method
|
||||
* @webBrief Gets the content of an element as a float
|
||||
* @webBrief Gets the content of an element as a <b>float</b>
|
||||
* @return the content.
|
||||
* @see XML#getContent()
|
||||
* @see XML#getIntContent()
|
||||
@@ -1019,7 +1019,7 @@ public class XML implements Serializable {
|
||||
|
||||
|
||||
/**
|
||||
* Sets the element's content, which is specified as a String.
|
||||
* Sets the element's content, which is specified as a <b>String</b>.
|
||||
*
|
||||
* @webref xml:method
|
||||
* @webBrief Sets the content of an element
|
||||
@@ -1050,19 +1050,19 @@ public class XML implements Serializable {
|
||||
|
||||
|
||||
/**
|
||||
* Takes an XML object and converts it to a String, formatting its content as
|
||||
* Takes an <b>XML</b> object and converts it to a <b>String</b>, formatting its content as
|
||||
* specified with the <b>indent</b> parameter.<br />
|
||||
* <br />
|
||||
* If indent is set to -1, then the String is returned with no line breaks, no
|
||||
* indentation, and no XML declaration.<br />
|
||||
* indentation, and no <b>XML</b> declaration.<br />
|
||||
* <br />
|
||||
* If indent is set to 0 or greater, then the String is returned with line
|
||||
* If indent is set to 0 or greater, then the <b>String</b> is returned with line
|
||||
* breaks, and the specified number of spaces as indent values. Meaning, there
|
||||
* will be no indentation if 0 is specified, or each indent will be replaced
|
||||
* with the corresponding number of spaces: 1, 2, 3, and so on.
|
||||
*
|
||||
* @webref xml:method
|
||||
* @webBrief Formats XML data as a String
|
||||
* @webBrief Formats <b>XML</b> data as a <b>String</b>
|
||||
* @param indent -1 for a single line (and no declaration), >= 0 for indents and
|
||||
* newlines
|
||||
* @return the content
|
||||
@@ -1204,13 +1204,13 @@ public class XML implements Serializable {
|
||||
|
||||
|
||||
/**
|
||||
* Takes an XML object and converts it to a String, using default formatting
|
||||
* Takes an <b>XML</b> object and converts it to a <b>String</b>, using default formatting
|
||||
* rules (includes an XML declaration, line breaks, and two spaces for indents).
|
||||
* These are the same formatting rules used by <b>println()</b> when printing an
|
||||
* XML object. This method produces the same results as using <b>format(2)</b>.
|
||||
* <b>XML</b> object. This method produces the same results as using <b>format(2)</b>.
|
||||
*
|
||||
* @webref xml:method
|
||||
* @webBrief Gets XML data as a String using default formatting
|
||||
* @webBrief Gets <b>XML</b> data as a <b>String</b> using default formatting
|
||||
* @return the content
|
||||
* @see XML#format(int)
|
||||
*/
|
||||
|
||||
@@ -37,12 +37,12 @@ import java.util.HashMap;
|
||||
* fragment shader. It's compatible with the P2D and P3D renderers, but not with
|
||||
* the default renderer. Use the <b>loadShader()</b> function to load your
|
||||
* shader code. [Note: It's strongly encouraged to use <b>loadShader()</b> to
|
||||
* create a PShader object, rather than calling the PShader constructor
|
||||
* create a <b>PShader</b> object, rather than calling the <b>PShader</b> constructor
|
||||
* manually.]
|
||||
*
|
||||
* @webref rendering:shaders
|
||||
* @webBrief This class encapsulates a GLSL shader program, including a vertex
|
||||
* and a fragment shader.
|
||||
* and a fragment shader
|
||||
*/
|
||||
public class PShader implements PConstants {
|
||||
static protected final int POINT = 0;
|
||||
|
||||
+64
-11
@@ -1,9 +1,62 @@
|
||||
1273 (4.0a4)
|
||||
X fix typo in extensions= arg
|
||||
X update batik to 1.14
|
||||
X https://github.com/processing/processing4/issues/179
|
||||
X https://github.com/processing/processing4/issues/192
|
||||
X update the batik url
|
||||
X https://github.com/processing/processing4/pull/183
|
||||
X calling unregisterMethod() on dispose from dispose() means concurrent mod
|
||||
o https://github.com/processing/processing4/pull/199
|
||||
X modernized the code a bit, checked in a version that queues to avoid list issue
|
||||
X Make parseJSONObject/Array return null when parsing fails
|
||||
X https://github.com/processing/processing4/issues/165
|
||||
X https://github.com/processing/processing4/pull/166
|
||||
X "textMode(SHAPE) is not supported by this renderer" message
|
||||
X https://github.com/processing/processing4/issues/202
|
||||
X formerly https://github.com/processing/processing/issues/6169
|
||||
X add PVector.setHeading() for parity with p5.js
|
||||
X https://github.com/processing/processing4/issues/193
|
||||
X .setAngle() for PVector?
|
||||
X https://github.com/processing/processing-docs/issues/744
|
||||
o Math for BLEND incorrect in the reference?
|
||||
o https://github.com/processing/processing-docs/issues/762
|
||||
o How much of the attrib*() functions should be documented?
|
||||
o https://github.com/processing/processing-docs/issues/172
|
||||
|
||||
|
||||
fixed in 4.x (close/lock these 3.x issues with final 4.0 release)
|
||||
regressions
|
||||
_ (unconfirmed) setting which display to use does not work
|
||||
_ https://github.com/processing/processing4/issues/187
|
||||
_ cursor(PImage) broken everywhere because PImage.getNative() returns null
|
||||
_ https://github.com/processing/processing4/issues/180
|
||||
_ PImage.resize() not working
|
||||
_ https://github.com/processing/processing4/issues/200
|
||||
_ two simple examples added to the issue that can be used for tests
|
||||
_ mouseButton not set correctly on mouseReleased() with Java2D
|
||||
_ https://github.com/processing/processing4/issues/181
|
||||
_ https://github.com/processing/processing4/pull/188
|
||||
_ copy() not working correctly
|
||||
_ https://github.com/processing/processing4/issues/169
|
||||
|
||||
|
||||
_ setting surface size needs to happen outside draw()
|
||||
_ surface.setSize() sadness etc
|
||||
_ https://github.com/processing/processing4/issues/162
|
||||
_ https://github.com/processing/processing4/issues/186
|
||||
_ https://github.com/processing/processing/issues/4129
|
||||
|
||||
_ why does japplemenubar.JAppleMenuBar.hide(); still work?
|
||||
_ it calls SetSystemUIMode, which is part of Carbon (which was removed in Catalina)
|
||||
_ https://github.com/kritzikratzi/jAppleMenuBar/blob/master/src/native/jAppleMenuBar.m
|
||||
_ setPresentationOptions() seems to be the Cocoa equivalent
|
||||
_ https://www.cocoawithlove.com/2009/08/animating-window-to-fullscreen-on-mac.html
|
||||
_ https://bugzilla.mozilla.org/attachment.cgi?id=8616917&action=diff
|
||||
_ https://www.philipp.haussleiter.de/2012/09/building-native-macos-apps-with-java/
|
||||
|
||||
|
||||
should be fixed in 4.x (close/lock these 3.x issues with final 4.0 release)
|
||||
X AppKit errors from P2D/P3D
|
||||
_ https://github.com/processing/processing/issues/5880
|
||||
X https://github.com/processing/processing/issues/5880
|
||||
X Export Application broken in Processing 3.5.4 when using P2D or P3D renderers
|
||||
X may be a JOGL bug, fixed by the 2.4 RC (therefore fixed in 4.x already?)
|
||||
_ https://github.com/processing/processing/issues/5983
|
||||
@@ -11,6 +64,12 @@ _ Profile GL3bc is not available on X11GraphicsDevice
|
||||
_ https://github.com/processing/processing/issues/5476
|
||||
X Cannot run rotateZ() within the PShape class
|
||||
_ https://github.com/processing/processing/issues/5770
|
||||
_ Profile GL4bc is not available on X11GraphicsDevice
|
||||
_ https://github.com/processing/processing/issues/6160
|
||||
_ https://github.com/processing/processing/issues/6154
|
||||
_ Profile GL3bc is not available on X11GraphicsDevice
|
||||
_ https://github.com/processing/processing/issues/5476
|
||||
|
||||
|
||||
_ update P2D reference to make clear about drawing order and quality
|
||||
_ https://github.com/processing/processing/issues/5880
|
||||
@@ -51,6 +110,7 @@ _ this may be a problem for anything that was relying on those internals
|
||||
_ removed MouseEvent.getClickCount() and MouseEvent.getAmount()
|
||||
_ these had been deprecated, not clear they were used anywhere
|
||||
_ add callbacks to requestImage() and others
|
||||
_ new FloatList(float...)
|
||||
|
||||
|
||||
api todo
|
||||
@@ -114,6 +174,8 @@ _ y coords on macOS seem to be one pixel off
|
||||
|
||||
|
||||
retina/hi-dpi/sizing
|
||||
_ notes from jetbrains
|
||||
_ https://intellij-support.jetbrains.com/hc/en-us/articles/360007994999-HiDPI-configuration
|
||||
_ implement sketch scaling into PApplet
|
||||
_ https://github.com/processing/processing/issues/4897
|
||||
_ Sketches on Windows don't take UI sizing into account
|
||||
@@ -148,15 +210,6 @@ _ Friendly Names for new Sketches (includes UI for switching it back)
|
||||
_ https://github.com/processing/processing/pull/6048
|
||||
|
||||
|
||||
from Casey
|
||||
_ Math for BLEND incorrect in the reference?
|
||||
_ https://github.com/processing/processing-docs/issues/762
|
||||
_ .setAngle() for PVector?
|
||||
_ https://github.com/processing/processing-docs/issues/744
|
||||
_ How much of the attrib*() functions should be documented?
|
||||
_ https://github.com/processing/processing-docs/issues/172
|
||||
|
||||
|
||||
misc
|
||||
_ should we drop the 'default' prefix from the ex handler so it's not static?
|
||||
_ http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Thread.html
|
||||
|
||||
@@ -11,8 +11,8 @@ REFERENCES_OUT_PATH=../../../processing-website/content/references/translations/
|
||||
echo "[REFERENCE GENERATOR] Source Path :: $PROCESSING_SRC_PATH"
|
||||
echo "[REFERENCE GENERATOR] Library Path :: $PROCESSING_LIB_PATH"
|
||||
|
||||
#you can pass one argument "sound" or "video" to generate those libraries separately
|
||||
#if there is no argument it will generate everything
|
||||
# You can pass one argument "sound" or "video" to generate those libraries separately
|
||||
# if there is no argument it will generate everything
|
||||
if [ $# -eq 0 ]
|
||||
then
|
||||
echo "No arguments supplied, generating everything"
|
||||
@@ -34,7 +34,7 @@ if [ $# -eq 0 ]
|
||||
$PROCESSING_LIB_PATH/serial/src/processing/serial/*.java \
|
||||
$PROCESSING_LIB_PATH/../../../processing-video/src/processing/video/*.java \
|
||||
$PROCESSING_LIB_PATH/../../../processing-sound/src/processing/sound/*.java"
|
||||
elif [ $1 = "processing" ]
|
||||
elif [ $1 = "processing" ]
|
||||
then
|
||||
echo "Generating processing references"
|
||||
echo "[REFERENCE GENERATOR] Removing previous version of the ref..."
|
||||
@@ -53,7 +53,7 @@ if [ $# -eq 0 ]
|
||||
$PROCESSING_LIB_PATH/io/src/processing/io/*.java \
|
||||
$PROCESSING_LIB_PATH/net/src/processing/net/*.java \
|
||||
$PROCESSING_LIB_PATH/serial/src/processing/serial/*.java"
|
||||
else
|
||||
else
|
||||
echo "Generating $1 library"
|
||||
echo "[REFERENCE GENERATOR] Removing previous version of the ref..."
|
||||
rm -rf $REFERENCES_OUT_PATH/$1
|
||||
@@ -73,4 +73,4 @@ javadoc -doclet ProcessingWeblet \
|
||||
-imagedir images \
|
||||
-encoding UTF-8 \
|
||||
$FOLDERS \
|
||||
-noisy
|
||||
-noisy
|
||||
|
||||
@@ -137,6 +137,9 @@ public class ClassWriter extends BaseWriter {
|
||||
{
|
||||
constructor = constructor.substring(0, constructor.length()-2) + ")";
|
||||
}
|
||||
else {
|
||||
constructor += ")";
|
||||
}
|
||||
constructors.add(constructor);
|
||||
}
|
||||
return constructors;
|
||||
|
||||
@@ -22,16 +22,22 @@ public class FieldWriter extends BaseWriter {
|
||||
|
||||
public static void write(HashMap<String, String> vars, FieldDoc doc, String classname) throws IOException
|
||||
{
|
||||
String filename = getAnchor(doc);
|
||||
TemplateWriter templateWriter = new TemplateWriter();
|
||||
|
||||
JSONObject fieldJSON = new JSONObject();
|
||||
|
||||
String fieldName;
|
||||
if (getName(doc).contains("[]")) {
|
||||
fieldName = getName(doc).replace("[]", "");
|
||||
} else {
|
||||
fieldName = getName(doc);
|
||||
}
|
||||
|
||||
String fileName;
|
||||
if (classname != "") {
|
||||
fileName = jsonDir + classname + "_" + getName(doc) + ".json";
|
||||
fileName = jsonDir + classname + "_" + fieldName + ".json";
|
||||
} else {
|
||||
fileName = jsonDir + getName(doc) + ".json";
|
||||
fileName = jsonDir + fieldName + ".json";
|
||||
}
|
||||
|
||||
Tag[] tags = doc.tags(Shared.i().getWebrefTagName());
|
||||
@@ -40,7 +46,6 @@ public class FieldWriter extends BaseWriter {
|
||||
|
||||
try
|
||||
{
|
||||
fieldJSON.put("type", "field");
|
||||
fieldJSON.put("description", getWebDescriptionFromSource(doc));
|
||||
fieldJSON.put("brief", getWebBriefFromSource(doc));
|
||||
fieldJSON.put("category", category);
|
||||
@@ -49,8 +54,9 @@ public class FieldWriter extends BaseWriter {
|
||||
fieldJSON.put("related", getRelated(doc));
|
||||
|
||||
if(Shared.i().isRootLevel(doc.containingClass())){
|
||||
fieldJSON.put("classname", "");
|
||||
fieldJSON.put("type", "other");
|
||||
} else {
|
||||
fieldJSON.put("type", "field");
|
||||
fieldJSON.put("classanchor", getLocalAnchor(doc.containingClass()));
|
||||
fieldJSON.put("parameters", getParentParam(doc));
|
||||
String syntax = templateWriter.writePartial("field.syntax.partial", getSyntax(doc));
|
||||
|
||||
@@ -94,16 +94,16 @@ public class GPIO {
|
||||
/**
|
||||
* Calls a function when the value of an input pin changes<br/>
|
||||
* <br/>
|
||||
* The sketch method provided must accept a single integer (int) parameter, which is the
|
||||
* The sketch method provided must accept a single <b>integer</b> (int) parameter, which is the
|
||||
* number of the GPIO pin that the interrupt occured on. As this method might be called
|
||||
* at any time, including when drawing to the display window isn't permitted, it is best
|
||||
* to only set simple variables that are being responded to in the next draw() call, as
|
||||
* to only set simple variables that are being responded to in the next <b>draw()</b> call, as
|
||||
* shown above. Calling functions of the Hardware I/O library at this point is certainly
|
||||
* possible.<br/>
|
||||
* <br/>
|
||||
* The mode parameter determines when the function will be called: GPIO.FALLING occurs
|
||||
* when the level changes from high to low, GPIO.RISING when the level changes from low
|
||||
* to high, and GPIO.CHANGE when either occurs.
|
||||
* The mode parameter determines when the function will be called: <b>GPIO.FALLING</b> occurs
|
||||
* when the level changes from high to low, <b>GPIO.RISING</b> when the level changes from low
|
||||
* to high, and <b>GPIO.CHANGE</b> when either occurs.
|
||||
*
|
||||
* @param pin GPIO pin
|
||||
* @param parent typically use "this"
|
||||
@@ -333,7 +333,7 @@ public class GPIO {
|
||||
* Allows interrupts to happen<br/>
|
||||
* <br/>
|
||||
* You can use <a href="GPIO_noInterrupts_.html">noInterrupts()</a>
|
||||
* and interrupts() in tandem to make sure no interrupts are occuring
|
||||
* and <b>interrupts()</b> in tandem to make sure no interrupts are occuring
|
||||
* while your sketch is doing a particular task. By default, interrupts
|
||||
* are enabled.
|
||||
*
|
||||
@@ -351,7 +351,7 @@ public class GPIO {
|
||||
/**
|
||||
* Prevents interrupts from happpening<br/>
|
||||
* <br/>
|
||||
* You can use noInterrupts() and <a href="GPIO_interrupts_.html">interrupts()</a>
|
||||
* You can use <b>noInterrupts()</b> and <a href="GPIO_interrupts_.html">interrupts()</a>
|
||||
* in tandem to make sure no interrupts are occuring while your sketch is doing a
|
||||
* particular task.<br/>
|
||||
* br/>
|
||||
@@ -529,9 +529,9 @@ public class GPIO {
|
||||
/**
|
||||
* Waits for the value of an input pin to change<br/>
|
||||
* <br/>
|
||||
* The mode parameter determines when the function will return: GPIO.FALLING occurs
|
||||
* when the level changes from high to low, GPIO.RISING when the level changes from
|
||||
* low to high, and GPIO.CHANGE when either occurs.<br/>
|
||||
* The mode parameter determines when the function will return: <b>GPIO.FALLING</b> occurs
|
||||
* when the level changes from high to low, <b>GPIO.RISING</b> when the level changes from
|
||||
* low to high, and <b>GPIO.CHANGE</b> when either occurs.<br/>
|
||||
* <br/>
|
||||
* The optional timeout parameter determines how many milliseconds the function will
|
||||
* wait at the most. If the value of the input pin hasn't changed at this point, an
|
||||
@@ -550,9 +550,9 @@ public class GPIO {
|
||||
/**
|
||||
* Waits for the value of an input pin to change<br/>
|
||||
* <br/>
|
||||
* The mode parameter determines when the function will return: GPIO.FALLING occurs
|
||||
* when the level changes from high to low, GPIO.RISING when the level changes from
|
||||
* low to high, and GPIO.CHANGE when either occurs.<br/>
|
||||
* The mode parameter determines when the function will return: <b>GPIO.FALLING</b> occurs
|
||||
* when the level changes from high to low, <b>GPIO.RISING</b> when the level changes from
|
||||
* low to high, and <b>GPIO.CHANGE</b> when either occurs.<br/>
|
||||
* <br/>
|
||||
* The optional timeout parameter determines how many milliseconds the function will
|
||||
* wait at the most. If the value of the input pin hasn't changed at this point, an
|
||||
|
||||
@@ -124,7 +124,7 @@ public class I2C {
|
||||
* time.
|
||||
*
|
||||
* @webref I2C
|
||||
* @webBrief Closes the I2C device.
|
||||
* @webBrief Closes the I2C device
|
||||
*/
|
||||
public void close() {
|
||||
if (NativeInterface.isSimulated()) {
|
||||
@@ -150,12 +150,12 @@ public class I2C {
|
||||
* <br/>
|
||||
* This executes any queued writes. <a href="I2C_read_.html">Read()</a>
|
||||
* implicitly ends the current transmission as well, hence calling
|
||||
* endTransmission() afterwards is not necessary.
|
||||
* <b>endTransmission()</b> afterwards is not necessary.
|
||||
*
|
||||
* @see beginTransmission
|
||||
* @see write
|
||||
* @webref I2C
|
||||
* @webBrief Ends the current transmissions.
|
||||
* @webBrief Ends the current transmissions
|
||||
*/
|
||||
public void endTransmission() {
|
||||
if (!transmitting) {
|
||||
@@ -212,10 +212,10 @@ public class I2C {
|
||||
/**
|
||||
* Read bytes from the attached device<br/>
|
||||
* <br/>
|
||||
* You must call beginTransmission() before calling this function. This function
|
||||
* You must call <b>beginTransmission()</b> before calling this function. This function
|
||||
* also ends the current transmission and sends any data that was queued using
|
||||
* write() before. It is not necessary to call
|
||||
* <a href="I2C_endTransmission_.html">endTransmission()</a> after read().
|
||||
* <b>write()</b> before. It is not necessary to call
|
||||
* <a href="I2C_endTransmission_.html">endTransmission()</a> after <b>read()</b>.
|
||||
*
|
||||
* @param len number of bytes to read
|
||||
* @return bytes read from device
|
||||
@@ -223,7 +223,7 @@ public class I2C {
|
||||
* @see write
|
||||
* @see endTransmission
|
||||
* @webref I2C
|
||||
* @webBrief Read bytes from the attached device.
|
||||
* @webBrief Read bytes from the attached device
|
||||
*/
|
||||
public byte[] read(int len) {
|
||||
if (!transmitting) {
|
||||
@@ -253,15 +253,15 @@ public class I2C {
|
||||
/**
|
||||
* Add bytes to be written to the device<br/>
|
||||
* <br/>
|
||||
* You must call beginTransmission() before calling this function. The actual
|
||||
* writing takes part when read() or endTransmission() is being called.
|
||||
* You must call <b>beginTransmission()</b> before calling this function. The actual
|
||||
* writing takes part when <b>read()</b> or <b>endTransmission()</b> is being called.
|
||||
*
|
||||
* @param out bytes to be written
|
||||
* @see beginTransmission
|
||||
* @see read
|
||||
* @see endTransmission
|
||||
* @webref I2C
|
||||
* @webBrief Add bytes to be written to the device.
|
||||
* @webBrief Add bytes to be written to the device
|
||||
*/
|
||||
public void write(byte[] out) {
|
||||
if (!transmitting) {
|
||||
|
||||
@@ -83,10 +83,10 @@ public class SoftwareServo {
|
||||
/**
|
||||
* Attaches a servo motor to a GPIO pin<br/>
|
||||
* <br/>
|
||||
* You must call this function before calling write(). Note that the servo motor
|
||||
* will only be instructed to move after the first time write() is called.<br/>
|
||||
* You must call this function before calling <b>write()</b>. Note that the servo motor
|
||||
* will only be instructed to move after the first time <b>write()</b> is called.<br/>
|
||||
* <br/>
|
||||
* The optional parameters minPulse and maxPulse control the minimum and maximum
|
||||
* The optional parameters <b>minPulse</b> and <b>maxPulse</b> control the minimum and maximum
|
||||
* pulse width durations. The default values, identical to those of Arduino's
|
||||
* Servo class, should be compatible with most servo motors.
|
||||
*
|
||||
@@ -105,8 +105,8 @@ public class SoftwareServo {
|
||||
/**
|
||||
* Attaches a servo motor to a GPIO pin<br/>
|
||||
* <br/>
|
||||
* You must call this function before calling write(). Note that the servo motor
|
||||
* will only be instructed to move after the first time write() is called.<br/>
|
||||
* You must call this function before calling <b>write()</b>. Note that the servo motor
|
||||
* will only be instructed to move after the first time <b>write()</b> is called.<br/>
|
||||
* <br/>
|
||||
* The optional parameters minPulse and maxPulse control the minimum and maximum
|
||||
* pulse width durations. The default values, identical to those of Arduino's
|
||||
|
||||
@@ -37,7 +37,7 @@ import java.net.*;
|
||||
* listening on a different port, an exception is thrown.
|
||||
*
|
||||
* @webref client
|
||||
* @webBrief The client class is used to create client Objects which connect to a server to exchange data.
|
||||
* @webBrief The client class is used to create client Objects which connect to a server to exchange data
|
||||
* @instanceName client any variable of type Client
|
||||
* @usage Application
|
||||
* @see_external LIB_net/clientEvent
|
||||
@@ -321,7 +321,7 @@ public class Client implements Runnable {
|
||||
*
|
||||
* @webref client
|
||||
* @usage application
|
||||
* @webBrief Returns the IP address of the machine as a String
|
||||
* @webBrief Returns the IP address of the machine as a <b>String</b>
|
||||
*/
|
||||
public String ip() {
|
||||
if (socket != null){
|
||||
@@ -422,7 +422,7 @@ public class Client implements Runnable {
|
||||
*
|
||||
* @webref client
|
||||
* @usage application
|
||||
* @webBrief Reads a group of bytes from the buffer.
|
||||
* @webBrief Reads a group of bytes from the buffer
|
||||
*/
|
||||
public byte[] readBytes() {
|
||||
synchronized (bufferLock) {
|
||||
@@ -596,7 +596,7 @@ public class Client implements Runnable {
|
||||
|
||||
/**
|
||||
*
|
||||
* Returns the all the data from the buffer as a String. This method
|
||||
* Returns the all the data from the buffer as a <b>String</b>. This method
|
||||
* assumes the incoming characters are ASCII. If you want to transfer
|
||||
* Unicode data, first convert the String to a byte stream in the
|
||||
* representation of your choice (i.e. UTF8 or two-byte Unicode data), and
|
||||
@@ -604,7 +604,7 @@ public class Client implements Runnable {
|
||||
*
|
||||
* @webref client
|
||||
* @usage application
|
||||
* @webBrief Returns the buffer as a String
|
||||
* @webBrief Returns the buffer as a <b>String</b>
|
||||
*/
|
||||
public String readString() {
|
||||
byte b[] = readBytes();
|
||||
@@ -626,7 +626,7 @@ public class Client implements Runnable {
|
||||
*
|
||||
* @webref client
|
||||
* @usage application
|
||||
* @webBrief Returns the buffer as a String up to and including a particular character
|
||||
* @webBrief Returns the buffer as a <b>String</b> up to and including a particular character
|
||||
* @param interesting character designated to mark the end of the data
|
||||
*/
|
||||
public String readStringUntil(int interesting) {
|
||||
@@ -644,7 +644,7 @@ public class Client implements Runnable {
|
||||
*
|
||||
* @webref client
|
||||
* @usage application
|
||||
* @webBrief Writes bytes, chars, ints, bytes[], Strings
|
||||
* @webBrief Writes <b>bytes</b>, <b>chars</b>, <b>ints</b>, <b>bytes[]</b>, <b>Strings</b>
|
||||
* @param data data to write
|
||||
*/
|
||||
public void write(int data) { // will also cover char
|
||||
|
||||
@@ -44,7 +44,7 @@ import java.net.*;
|
||||
* @webref server
|
||||
* @usage application
|
||||
* @webBrief The server class is used to create server objects which send
|
||||
* and receives data to and from its associated clients (other programs connected to it).
|
||||
* and receives data to and from its associated clients (other programs connected to it)
|
||||
* @instanceName server any variable of type Server
|
||||
*/
|
||||
public class Server implements Runnable {
|
||||
@@ -118,7 +118,7 @@ public class Server implements Runnable {
|
||||
* Disconnect a particular client.
|
||||
*
|
||||
* @webref server
|
||||
* @webBrief Disconnect a particular client.
|
||||
* @webBrief Disconnect a particular client
|
||||
* @param client the client to disconnect
|
||||
*/
|
||||
public void disconnect(Client client) {
|
||||
@@ -188,7 +188,7 @@ public class Server implements Runnable {
|
||||
* into any trouble.
|
||||
*
|
||||
* @webref server
|
||||
* @webBrief Return true if this server is still active.
|
||||
* @webBrief Return <b>true</b> if this server is still active
|
||||
*/
|
||||
public boolean active() {
|
||||
return thread != null;
|
||||
@@ -215,7 +215,7 @@ public class Server implements Runnable {
|
||||
* Returns the next client in line with a new message.
|
||||
*
|
||||
* @webref server
|
||||
* @webBrief Returns the next client in line with a new message.
|
||||
* @webBrief Returns the next client in line with a new message
|
||||
* @usage application
|
||||
*/
|
||||
public Client available() {
|
||||
@@ -255,7 +255,7 @@ public class Server implements Runnable {
|
||||
* is still running. Otherwise, it will be automatically be shut down by the
|
||||
* host PApplet using dispose(), which is identical.
|
||||
* @webref server
|
||||
* @webBrief Disconnects all clients and stops the server.
|
||||
* @webBrief Disconnects all clients and stops the server
|
||||
* @usage application
|
||||
*/
|
||||
public void stop() {
|
||||
|
||||
@@ -38,7 +38,7 @@ import jssc.*;
|
||||
* Class for sending and receiving data using the serial communication protocol.
|
||||
*
|
||||
* @webref serial
|
||||
* @webBrief Class for sending and receiving data using the serial communication protocol.
|
||||
* @webBrief Class for sending and receiving data using the serial communication protocol
|
||||
* @instanceName serial any variable of type Serial
|
||||
* @usage Application
|
||||
* @see_external LIB_serial/serialEvent
|
||||
@@ -189,7 +189,7 @@ public class Serial implements SerialPortEventListener {
|
||||
*
|
||||
* @generate Serial_available.xml
|
||||
* @webref serial
|
||||
* @webBrief Returns the number of bytes available.
|
||||
* @webBrief Returns the number of bytes available
|
||||
* @usage web_application
|
||||
*/
|
||||
public int available() {
|
||||
@@ -198,10 +198,10 @@ public class Serial implements SerialPortEventListener {
|
||||
|
||||
|
||||
/**
|
||||
* Sets the number of bytes to buffer before calling serialEvent()
|
||||
* Sets the number of bytes to buffer before calling <b>serialEvent()</b>
|
||||
* @generate Serial_buffer.xml
|
||||
* @webref serial
|
||||
* @webBrief Sets the number of bytes to buffer before calling serialEvent()
|
||||
* @webBrief Sets the number of bytes to buffer before calling <b>serialEvent()</b>
|
||||
* @usage web_application
|
||||
* @param size number of bytes to buffer
|
||||
*/
|
||||
@@ -215,7 +215,7 @@ public class Serial implements SerialPortEventListener {
|
||||
*
|
||||
* @generate Serial_bufferUntil.xml
|
||||
* @webref serial
|
||||
* @webBrief Sets a specific byte to buffer until before calling <b>serialEvent()</b>.
|
||||
* @webBrief Sets a specific byte to buffer until before calling <b>serialEvent()</b>
|
||||
* @usage web_application
|
||||
* @param inByte the value to buffer until
|
||||
*/
|
||||
@@ -230,7 +230,7 @@ public class Serial implements SerialPortEventListener {
|
||||
*
|
||||
* @generate Serial_clear.xml
|
||||
* @webref serial
|
||||
* @webBrief Empty the buffer, removes all the data stored there.
|
||||
* @webBrief Empty the buffer, removes all the data stored there
|
||||
* @usage web_application
|
||||
*/
|
||||
public void clear() {
|
||||
@@ -273,7 +273,7 @@ public class Serial implements SerialPortEventListener {
|
||||
* and clears the buffer. Useful when you just want the most
|
||||
* recent value sent over the port.
|
||||
* @webref serial
|
||||
* @webBrief Returns last byte received or -1 if there is none available.
|
||||
* @webBrief Returns last byte received or -1 if there is none available
|
||||
* @usage web_application
|
||||
*/
|
||||
public int last() {
|
||||
@@ -295,7 +295,7 @@ public class Serial implements SerialPortEventListener {
|
||||
*
|
||||
* @generate Serial_lastChar.xml
|
||||
* @webref serial
|
||||
* @webBrief Returns the last byte received as a char or -1 if there is none available.
|
||||
* @webBrief Returns the last byte received as a char or -1 if there is none available
|
||||
* @usage web_application
|
||||
*/
|
||||
public char lastChar() {
|
||||
@@ -309,7 +309,7 @@ public class Serial implements SerialPortEventListener {
|
||||
*
|
||||
* @generate Serial_list.xml
|
||||
* @webref serial
|
||||
* @webBrief Gets a list of all available serial ports.
|
||||
* @webBrief Gets a list of all available serial ports
|
||||
* @usage web_application
|
||||
*/
|
||||
public static String[] list() {
|
||||
@@ -326,7 +326,7 @@ public class Serial implements SerialPortEventListener {
|
||||
*
|
||||
* @generate Serial_read.xml
|
||||
* @webref serial
|
||||
* @webBrief Returns a number between 0 and 255 for the next byte that's waiting in the buffer.
|
||||
* @webBrief Returns a number between 0 and 255 for the next byte that's waiting in the buffer
|
||||
* @usage web_application
|
||||
*/
|
||||
public int read() {
|
||||
@@ -354,7 +354,7 @@ public class Serial implements SerialPortEventListener {
|
||||
* <b>byteBuffer</b>, only those that fit are read.
|
||||
* @generate Serial_readBytes.xml
|
||||
* @webref serial
|
||||
* @webBrief Reads a group of bytes from the buffer or <b>null</b> if there are none available.
|
||||
* @webBrief Reads a group of bytes from the buffer or <b>null</b> if there are none available
|
||||
* @usage web_application
|
||||
*/
|
||||
public byte[] readBytes() {
|
||||
@@ -446,7 +446,7 @@ public class Serial implements SerialPortEventListener {
|
||||
*
|
||||
* @generate Serial_readBytesUntil.xml
|
||||
* @webref serial
|
||||
* @webBrief Reads from the port into a buffer of bytes up to and including a particular character.
|
||||
* @webBrief Reads from the port into a buffer of bytes up to and including a particular character
|
||||
* @usage web_application
|
||||
* @param inByte character designated to mark the end of the data
|
||||
*/
|
||||
@@ -532,7 +532,7 @@ public class Serial implements SerialPortEventListener {
|
||||
*
|
||||
* @generate Serial_readChar.xml
|
||||
* @webref serial
|
||||
* @webBrief Returns the next byte in the buffer as a char.
|
||||
* @webBrief Returns the next byte in the buffer as a char
|
||||
* @usage web_application
|
||||
*/
|
||||
public char readChar() {
|
||||
@@ -541,14 +541,14 @@ public class Serial implements SerialPortEventListener {
|
||||
|
||||
|
||||
/**
|
||||
* Returns all the data from the buffer as a String or <b>null</b> if there is nothing available.
|
||||
* Returns all the data from the buffer as a <b>String</b> or <b>null</b> if there is nothing available.
|
||||
* This method assumes the incoming characters are ASCII. If you want to transfer Unicode data,
|
||||
* first convert the String to a byte stream in the representation of your choice (i.e. UTF8 or
|
||||
* two-byte Unicode data), and send it as a byte array.
|
||||
*
|
||||
* @generate Serial_readString.xml
|
||||
* @webref serial
|
||||
* @webBrief Returns all the data from the buffer as a String or <b>null</b> if there is nothing available.
|
||||
* @webBrief Returns all the data from the buffer as a <b>String</b> or <b>null</b> if there is nothing available
|
||||
* @usage web_application
|
||||
*/
|
||||
public String readString() {
|
||||
@@ -570,7 +570,7 @@ public class Serial implements SerialPortEventListener {
|
||||
* (i.e. UTF8 or two-byte Unicode data), and send it as a byte array.
|
||||
*
|
||||
* @webref serial
|
||||
* @webBrief Combination of <b>readBytesUntil()</b> and <b>readString()</b>.
|
||||
* @webBrief Combination of <b>readBytesUntil()</b> and <b>readString()</b>
|
||||
* @usage web_application
|
||||
* @param inByte character designated to mark the end of the data
|
||||
*/
|
||||
@@ -594,7 +594,7 @@ public class Serial implements SerialPortEventListener {
|
||||
*
|
||||
* @generate serialEvent.xml
|
||||
* @webref serial_event
|
||||
* @webBrief Called when data is available.
|
||||
* @webBrief Called when data is available
|
||||
* @usage web_application
|
||||
* @param event the port where new data is available
|
||||
*/
|
||||
@@ -679,7 +679,7 @@ public class Serial implements SerialPortEventListener {
|
||||
*
|
||||
* @generate Serial_stop.xml
|
||||
* @webref serial
|
||||
* @webBrief Stops data communication on this port.
|
||||
* @webBrief Stops data communication on this port
|
||||
* @usage web_application
|
||||
*/
|
||||
public void stop() {
|
||||
@@ -722,7 +722,7 @@ public class Serial implements SerialPortEventListener {
|
||||
|
||||
|
||||
/**
|
||||
* Writes bytes, chars, ints, bytes[], Strings to the serial port
|
||||
* Writes <b>bytes</b>, <b>chars</b>, <b>ints</b>, <b>bytes[]</b>, <b>Strings</b> to the serial port
|
||||
*
|
||||
* <h3>Advanced</h3>
|
||||
* Write a String to the output. Note that this doesn't account
|
||||
@@ -737,7 +737,7 @@ public class Serial implements SerialPortEventListener {
|
||||
* (i.e. UTF8 or two-byte Unicode data), and send it as a byte array.
|
||||
*
|
||||
* @webref serial
|
||||
* @webBrief Writes bytes, chars, ints, bytes[], Strings to the serial port
|
||||
* @webBrief Writes <b>bytes</b>, <b>chars</b>, <b>ints</b>, <b>bytes[]</b>, <b>Strings</b> to the serial port
|
||||
* @usage web_application
|
||||
* @param src data to write
|
||||
*/
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="lib" path="library/batik-all-1.13.jar"/>
|
||||
<classpathentry kind="lib" path="/Users/fry/coconut/processing4/java/libraries/svg/library/batik-all-1.14.jar"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/adoptopenjdk-11">
|
||||
<attributes>
|
||||
<attribute name="module" value="true"/>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<delete file="library/svg.jar" />
|
||||
</target>
|
||||
|
||||
<property name="batik.version" value="1.13" />
|
||||
<property name="batik.version" value="1.14" />
|
||||
<!-- the .zip file to be downloaded -->
|
||||
<property name="batik.zip" value="batik-bin-${batik.version}.zip" />
|
||||
<!-- the .jar file that's the actual dependency -->
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
<!-- URL for the version of Batik currently supported by this library. -->
|
||||
<property name="batik.url"
|
||||
value="https://apache.osuosl.org/xmlgraphics/batik/binaries/${batik.zip}" />
|
||||
value="https://archive.apache.org/dist/xmlgraphics/batik/binaries/${batik.zip}" />
|
||||
|
||||
<!-- Storing a "local" copy in case the original link goes dead. When updating
|
||||
releases, please upload the new version to download.processing.org. -->
|
||||
|
||||
@@ -75,12 +75,6 @@ public class PGraphicsSVG extends PGraphicsJava2D {
|
||||
}
|
||||
|
||||
|
||||
protected void defaultSettings() { // ignore
|
||||
super.defaultSettings();
|
||||
textMode = SHAPE;
|
||||
}
|
||||
|
||||
|
||||
public void beginDraw() {
|
||||
DOMImplementation domImpl =
|
||||
GenericDOMImplementation.getDOMImplementation();
|
||||
|
||||
@@ -514,7 +514,7 @@ public class JavaTextArea extends PdeTextArea {
|
||||
*/
|
||||
protected void showSuggestion(DefaultListModel<CompletionCandidate> listModel, String subWord) {
|
||||
// TODO can this be ListModel instead? why is size() in DefaultListModel
|
||||
// different from getSize() in ListModel (or are they, really?)
|
||||
// different from getSize() in ListModel (or are they, really?)
|
||||
hideSuggestion();
|
||||
|
||||
if (listModel.size() != 0) {
|
||||
|
||||
@@ -85,16 +85,24 @@ public class Runner implements MessageConsumer {
|
||||
|
||||
public Runner(JavaBuild build, RunnerListener listener) throws SketchException {
|
||||
this.listener = listener;
|
||||
// this.sketch = sketch;
|
||||
this.build = build;
|
||||
|
||||
checkLocalHost();
|
||||
|
||||
if (listener instanceof JavaEditor) {
|
||||
this.editor = (JavaEditor) listener;
|
||||
sketchErr = editor.getConsole().getErr();
|
||||
sketchOut = editor.getConsole().getOut();
|
||||
} else {
|
||||
if (listener instanceof RunnerListenerEdtAdapter) {
|
||||
// RunnerListener gets wrapped so that it behaves on the EDT.
|
||||
// Need to extract the wrapped Object and see if it's a Java Editor,
|
||||
// in which case we'll be passing additional parameters to the PApplet.
|
||||
// https://github.com/processing/processing/issues/5843
|
||||
RunnerListener wrapped = ((RunnerListenerEdtAdapter) listener).getWrapped();
|
||||
if (wrapped instanceof JavaEditor) {
|
||||
editor = (JavaEditor) wrapped;
|
||||
sketchErr = editor.getConsole().getErr();
|
||||
sketchOut = editor.getConsole().getOut();
|
||||
}
|
||||
}
|
||||
// If it's not a JavaEditor, then we don't redirect to a console.
|
||||
if (editor == null) {
|
||||
sketchErr = System.err;
|
||||
sketchOut = System.out;
|
||||
}
|
||||
@@ -466,10 +474,8 @@ public class Runner implements MessageConsumer {
|
||||
}
|
||||
params.append(PApplet.ARGS_EXTERNAL);
|
||||
}
|
||||
|
||||
params.append(PApplet.ARGS_DISPLAY + "=" + runDisplay);
|
||||
|
||||
|
||||
if (present) {
|
||||
params.append(PApplet.ARGS_PRESENT);
|
||||
// if (Preferences.getBoolean("run.present.exclusive")) {
|
||||
@@ -495,6 +501,7 @@ public class Runner implements MessageConsumer {
|
||||
if (args != null) {
|
||||
params.append(args);
|
||||
}
|
||||
|
||||
// Pass back the whole list
|
||||
return params;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,32 @@
|
||||
1273 (4.0a4)
|
||||
X replace about.bmp that was causing processing.exe to crash on startup
|
||||
X “An error occurred while starting the application” with 4.0a3 on Windows
|
||||
X replace about.bmp that was causing processing.exe to crash on startup
|
||||
X https://github.com/processing/processing4/issues/156
|
||||
X update to JDK 11.0.10
|
||||
X update from JNA 5.2.0 to 5.7.0
|
||||
X was having trouble with "java.lang.UnsatisfiedLinkError: Unable to load library 'CoreServices': Native library (darwin/libCoreServices.dylib) not found in resource path"
|
||||
X https://github.com/fathominfo/processing-p5js-mode/issues/26
|
||||
X implement auto-download for JNA updates
|
||||
X “Exception in thread "Contribution Uninstaller" NullPointerException” during Remove
|
||||
X https://github.com/processing/processing4/issues/174
|
||||
X catch NoClassDefError in Platform.deleteFile() (still unclear of its cause)
|
||||
X https://github.com/processing/processing4/issues/159
|
||||
_ https://github.com/processing/processing/issues/6185
|
||||
X need to set a nicer default font
|
||||
X increases export size, but impact is so worth it
|
||||
X Update JDK to 11.0.11+9
|
||||
X modernize the RegisteredMethods code to use collections classes w/ concurrency
|
||||
X https://github.com/processing/processing4/pull/199
|
||||
X don't sort user's charset array when calling createFont()
|
||||
X https://github.com/processing/processing4/issues/197
|
||||
X https://github.com/processing/processing4/pull/198
|
||||
X automatically lock closed issues
|
||||
X https://github.com/apps/lock
|
||||
X Display Window doesn't remember its position
|
||||
X seems that --external not getting passed
|
||||
X https://github.com/processing/processing4/issues/158
|
||||
X https://github.com/processing/processing/issues/5843
|
||||
X https://github.com/processing/processing/issues/5781
|
||||
|
||||
earlier
|
||||
o further streamline the downloader
|
||||
@@ -8,14 +34,57 @@ o https://github.com/processing/processing4/issues/47
|
||||
o next video release
|
||||
o https://github.com/processing/processing-video/milestone/1
|
||||
|
||||
contribs
|
||||
X many updates in the docs portion of the repo
|
||||
X https://github.com/processing/processing4/pull/191
|
||||
X fixing undo
|
||||
X fix? https://github.com/processing/processing4/pull/175
|
||||
_ https://github.com/processing/processing/issues/4775
|
||||
X tweak the number of updates based on Akarshit's attempt
|
||||
X https://github.com/processing/processing4/issues/201
|
||||
X https://github.com/processing/processing/pull/4097
|
||||
|
||||
|
||||
regressions
|
||||
_ Code completion not working
|
||||
_ https://github.com/processing/processing4/issues/177
|
||||
|
||||
_ when exporting an app, run xattr on it to handle "app is damaged" errors?
|
||||
_ https://osxdaily.com/2019/02/13/fix-app-damaged-cant-be-opened-trash-error-mac/
|
||||
_ https://github.com/processing/processing/issues/4214
|
||||
|
||||
_ exporting on Linux is setting the wrong path? or an extra subfolder is used?
|
||||
_ https://github.com/processing/processing/issues/6182
|
||||
|
||||
_ when lib downloads (batik) go dead, fallback to the download.processing.org version
|
||||
_ or for now, tell users how to do it manually
|
||||
|
||||
windows/scaling
|
||||
_ we're turning off automatic UI scaling in Windows, should we turn it back on?
|
||||
_ using -Dsun.java2d.uiScale.enabled=false inside config.xml for launch4j
|
||||
_ this was for Java 9, and we should have better support now
|
||||
_ also check whether this is set on Linux
|
||||
_ Welcome screen doesn't size properly for HiDPI screens
|
||||
_ https://github.com/processing/processing/issues/4896
|
||||
_ getSystemZoom() not available to splash screen
|
||||
_ https://github.com/processing/processing4/issues/145
|
||||
_ move all platform code out that doesn't require additional setup?
|
||||
_ i.e. all the things that rely on preferences can be inited separately (later)
|
||||
_ include JNA so that sketches can also scale properly?
|
||||
_ what happens re: getting scaled/high-res graphics?
|
||||
_ make that a preference? (and double the size by default?)
|
||||
_ pixelDensity() not working in exported Windows applications
|
||||
_ https://github.com/processing/processing/issues/5414#issuecomment-841088518
|
||||
|
||||
already fixed in 4.x? (confirm/close on release)
|
||||
_ HDPI support GNOME desktop
|
||||
_ https://github.com/processing/processing/issues/6059
|
||||
|
||||
|
||||
_ remove the JRE Downloader
|
||||
_ https://github.com/processing/processing4/issues/155
|
||||
_ editor breakpoints out of the .pde files
|
||||
_ https://github.com/processing/processing/issues/5848
|
||||
_ or at least avoid the multiple
|
||||
|
||||
_ MovieMaker .mov not compatible with QuicktTime Player
|
||||
_ https://github.com/processing/processing/issues/6110
|
||||
@@ -31,6 +100,9 @@ _ demo: https://github.com/jcodec/jcodec/blob/master/samples/main/java/org/jco
|
||||
|
||||
|
||||
decisions before final 4.0 release
|
||||
_ Add ability to move ~/.processing directory
|
||||
_ use ~/.config as parent, or $XDG_CONFIG_HOME
|
||||
_ https://github.com/processing/processing/issues/6115
|
||||
X Shutting off VAqua due to interface ugliness and Contribution Manager freezing
|
||||
_ https://github.com/processing/processing4/issues/129
|
||||
_ now with a release 9 to cover Big Sur
|
||||
@@ -50,6 +122,8 @@ _ https://github.com/processing/processing4/issues/157
|
||||
|
||||
|
||||
would like to fix
|
||||
_ better command line support/basic language server support?
|
||||
_ make it easier to use with other editors
|
||||
_ detach sketch name and folder name (use sketch.properties)
|
||||
_ better for git, etc
|
||||
_ single file thing is long gone
|
||||
@@ -57,11 +131,14 @@ _ introduce the idea of 'scraps' (ala gist) that are just single page blobs
|
||||
_ launch/psk files/import from web editor (more details below)
|
||||
_ ability to switch mode in p5 w/o saving/closing/etc
|
||||
_ trying to save the user from themselves here is just messier than needed
|
||||
_ https://github.com/processing/processing4/issues/189
|
||||
_ 'show sketch folder' weird when in temp folder
|
||||
_ ask to save first (sketch has not been saved yet)
|
||||
_ or make the temp folder part of the sketchbook
|
||||
_ same with adding files to an unsaved sketch, do we block that?
|
||||
_ Add language support to Modes
|
||||
|
||||
|
||||
_ add language support to Modes (request from Andres)
|
||||
_ https://github.com/processing/processing4/pull/14
|
||||
_ this was a small change; rebase not really needed since needs rewrite anyway
|
||||
|
||||
@@ -81,19 +158,7 @@ _ https://developer.apple.com/documentation/xcode/porting_your_macos_apps_to
|
||||
|
||||
|
||||
windows
|
||||
_ we're turning off automatic UI scaling in Windows, should we turn it back on?
|
||||
_ using -Dsun.java2d.uiScale.enabled=false inside config.xml for launch4j
|
||||
_ this was for Java 9, and we should have better support now
|
||||
_ also check whether this is set on Linux
|
||||
_ Welcome screen doesn't size properly for HiDPI screens
|
||||
_ https://github.com/processing/processing/issues/4896
|
||||
_ getSystemZoom() not available to splash screen
|
||||
_ https://github.com/processing/processing4/issues/145
|
||||
_ move all platform code out that doesn't require additional setup?
|
||||
_ i.e. all the things that rely on preferences can be inited separately (later)
|
||||
_ “An error occurred while starting the application” with 4.0a3 on Windows
|
||||
_ fixed by bypassing launch4j... need to figure out what's going on
|
||||
_ https://github.com/processing/processing4/issues/156
|
||||
_ go back to including a .bat file?
|
||||
_ .\java\bin\java.exe -cp lib/pde.jar;core/library/core.jar;lib/jna.jar;lib/jna-platform.jar;lib/antlr-4.7.2-complete.jar;lib/ant.jar;lib/ant-launcher.jar -Djna.nosys=true -Dsun.java2d.uiScale.enabled=false -Djna.boot.library.path=lib -Djna.nounpack=true -Dsun.java2d.d3d=false -Dsun.java2d.ddoffscreen=false -Dsun.java2d.noddraw=true processing.app.Base
|
||||
_ launch4j doesn't work from folders with non-native charsets
|
||||
_ anything in CP1252 on an English Windows system is fine
|
||||
@@ -154,8 +219,6 @@ _ check with Casey re: shallow clone or approach
|
||||
_ show the recommended sw version for users' platform on the download page
|
||||
|
||||
|
||||
_ fixing undo
|
||||
_ https://github.com/processing/processing/issues/4775
|
||||
_ reliable getLibraryFolder() and getDocumentsFolder() methods in MacPlatform
|
||||
_ https://github.com/processing/processing4/issues/9
|
||||
_ i18n support for Modes
|
||||
|
||||
Reference in New Issue
Block a user