Commit Graph

3146 Commits

Author SHA1 Message Date
Jakub Valtar
b237961450 Stop frame rate counter from exaggerating
Frame rate counter finally gets its ticket for speeding.

Frame rate is now calculated by averaging frame times instead of averaging frame rates. Rationale is explained in the comment.
2018-11-07 22:24:45 +01:00
Martin Prout
5e7ea5635a Update PApplet.java
@Deprecated missing
2018-10-21 07:18:50 +01:00
Jakub Valtar
d512d21fcf Move Ctrl+Left Mouse code from surfaces to PApplet 2018-10-09 09:19:36 +02:00
Jakub Valtar
eb64449f9b Make sure Ctrl+Left Mouse on MacOS is consistent
Make sure PRESS, DRAG and RELEASE report the same mouse button on MacOS.

- If CTRL was pressed during Left PRESS, report Right Button until the button is released, regardless of whether CTRL is still down.
- If CTRL was not pressed during Left PRESS, report Left Button until the button is released, regardless of CTRL state.

Fixes #5672
2018-10-07 21:55:14 +02:00
Ben Fry
d25aa1b322 Merge branch 'master' of github.com:processing/processing 2018-09-14 10:09:56 -04:00
Ben Fry
4003c9a3c7 back out bad text() fix for tabs, other notes 2018-09-14 10:09:54 -04:00
Sigmund Hansen
07e5d319e4 Fixes blend mode not being set correctly, fixing #5645. 2018-09-10 15:27:50 +02:00
Ben Fry
434c78ed2e additional tweak for tab width change 2018-08-30 12:30:24 -04:00
Ben Fry
699359760e Merge pull request #5633 from liquid600pgm/master
Fix for #5625 - Made tab widths consistent across renderers
2018-08-30 12:28:32 -04:00
Ben Fry
8c1b52e40b Merge pull request #5626 from hbs/jdk11
Fixed for JEP-223 support
2018-08-30 12:17:59 -04:00
Ben Fry
360a858d96 notes about where AWT imports are used in PApplet 2018-08-28 09:58:57 -04:00
lqdev
75c9c9729d Fixed issue #5625
Made tab widths consistent across renderers
2018-08-27 18:04:07 +02:00
Mathias Herberts
a6c7f22e91 Fixed for JEP-223 support 2018-08-19 12:15:29 +02:00
Ben Fry
86e2d0f6bb make the quote() methods public in JSONObject 2018-08-17 06:50:01 -07:00
Floris
c55bf37684 Add a warning to findFont() when a font isn't found (and the default font is used). 2018-08-03 12:20:49 +02:00
Ben Fry
382e0581ce Merge pull request #5522 from JakubValtar/fix-java2d-blending
Make sure Java2D is backed by INT_ARGB image
2018-07-26 15:24:39 -04:00
Ben Fry
15472d3cab cleaning up from #5550 2018-07-25 11:44:54 -04:00
Ben Fry
720752d001 Merge pull request #5549 from alexrj/pshape-contains
Finish implementation of PShape.contains()
2018-07-24 19:21:01 -04:00
Ben Fry
01ed1babb0 Merge pull request #5550 from alexrj/pshape-group-contains
Support PShape.contains() on GROUP objects
2018-07-24 19:19:51 -04:00
Ben Fry
c7579ed92e Merge pull request #5526 from liquid600pgm/master
Fixed a crash occuring while loading certain SVGs exported from Adobe Illustrator
2018-07-24 18:44:43 -04:00
gohai
4d15acae44 OpenGL ES: Fix GLSL version number for 1.00 (#5582)
Wikipedia had it wrong: the spec for the OpenGL ES Shading Language Version 1.00 defines the version preprocessor directive as "#version 100", and _not_ "#version 100 es", like version 3.00+ of the language wants it.

This made the Raspberry Pi with the legacy driver unhappy. Thanks @DangusTaargus for reporting.

see https://www.khronos.org/files/opengles_shading_language.pdf
2018-07-20 11:41:47 -07:00
gohai
d8a2fd8cc7 Unconditionally disable POLYGON_SMOOTH in restoreGL()
This now matches the logic in setGLSettings(), as suggested by @JakubValtar.
2018-06-26 19:14:08 -07:00
gohai
3da84a9874 ARM Mali: Don't use GL_MULTISAMPLE or GL_POLYGON_SMOOTH on ES
Fixes:
GLDebugEvent[ id 0x32
    type Error
    severity High: dangerous undefined behavior
    source GL API
    msg Error:glEnable::<cap> is not one of the accepted values
    when 1524184964512
    source 3.1 (ES profile, arb, debug, compat[ES2, ES3, ES31], FBO, hardware) - OpenGL ES 3.1 v1.r17p0-01rel0.a881d28363cdb20f0017ed13c980967e - hash 0x1f928e9]
    [2]: jogamp.opengl.GLDebugMessageHandler$StdErrGLDebugListener.messageSent(GLDebugMessageHandler.java:347)
    [3]: jogamp.opengl.GLDebugMessageHandler.sendMessage(GLDebugMessageHandler.java:332)
    [4]: jogamp.opengl.GLDebugMessageHandler.glDebugMessageARB(GLDebugMessageHandler.java:358)
    [5]: jogamp.opengl.es3.GLES3Impl.dispatch_glEnable1(Native Method)
    [6]: jogamp.opengl.es3.GLES3Impl.glEnable(GLES3Impl.java:734)
    [7]: com.jogamp.opengl.DebugGLES3.glEnable(DebugGLES3.java:2121)
    [8]: processing.opengl.PJOGL.enable(PJOGL.java:1068)
    [9]: processing.opengl.PGraphicsOpenGL.setGLSettings(PGraphicsOpenGL.java:6784)
    [10]: processing.opengl.PGraphicsOpenGL.checkSettings(PGraphicsOpenGL.java:6740)
    [11]: processing.opengl.PGraphicsOpenGL.beginDraw(PGraphicsOpenGL.java:1463)
    [12]: processing.core.PApplet.handleDraw(PApplet.java:2388)
    [13]: processing.opengl.PSurfaceJOGL$DrawListener.display(PSurfaceJOGL.java:866)
    [14]: jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692)
    [15]: jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674)
    [16]: jogamp.opengl.GLAutoDrawableBase$2.run(GLAutoDrawableBase.java:443)
    [17]: jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293)
    [18]: jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
    [19]: com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:759)
    [20]: com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:81)
    [21]: com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:452)
    [22]: com.jogamp.opengl.util.FPSAnimator$MainTask.run(FPSAnimator.java:178)
    [23]: java.util.TimerThread.mainLoop(Timer.java:555)
    [24]: java.util.TimerThread.run(Timer.java:505)
2018-06-26 19:14:08 -07:00
Alessandro Ranellucci
d49ba8864c Finish implementation of PShape.contains() by considering the transformation matrix before checking for point inclusion. #1280 2018-06-15 16:20:25 +02:00
Alessandro Ranellucci
e3cdf37965 Support PShape.contains() on GROUP objects by looping through its children (unsupported children will be skipped gracefully) 2018-06-15 16:16:58 +02:00
lqdev
ba9dc95443 Removed unneccessary java.util.Arrays import 2018-06-05 20:47:25 +02:00
lqdev
2eb3c7d777 Fixed a crash with SVGs from Adobe Illustrator 2018-06-05 20:27:50 +02:00
Jakub Valtar
0174387a68 Make sure Java2D is backed by INT_ARGB image
It would be nice to use a possibly faster compatible image, but all our code expects non-premultiplied INT_ARGB so sticking to it for now.

Fixes #5519
2018-06-01 22:40:24 +02:00
Ben Fry
f74f3c1a92 remove unused import 2018-05-17 16:18:45 -04:00
Ben Fry
647ac11062 rewrite requestImage() to fix errors/slowness/concurrency problems 2018-05-17 16:18:20 -04:00
Ben Fry
70db057aef construct a DoubleDict from a Map 2018-05-07 18:33:52 -04:00
Ben Fry
eb8f0edd4d prevent Table.sort() from throwing NPE with empty cells 2018-05-02 11:03:12 -04:00
lqdev
81ddbec416 added javadoc comment for XML#trim() 2018-04-28 18:45:22 +02:00
Ben Fry
0c5f74eea2 rewrite exec() to do threads, also handle fast/excessive output cases 2018-04-27 15:04:31 -04:00
Ben Fry
6d859e799a rewriting exec() for threads and not choking 2018-04-27 14:45:48 -04:00
Ben Fry
15e67c206e add save() methods and implement write() consistently in the List and Dict classes 2018-04-24 18:25:35 -04:00
Ben Fry
36607cf2d2 change Sort to use int for comparisons for accuracy, add DoubleDict and DoubleList 2018-04-24 17:48:25 -04:00
Ben Fry
664f1dd33e adding LongDict and LongList 2018-04-24 17:19:32 -04:00
Ben Fry
65cc40a5fb add missing @Override annotation to get rid of warning 2018-04-24 16:55:57 -04:00
gohai
df974e265f ARM Mali: Don't assume anisotropic filtering for gl3es3
Fixes:
GLDebugEvent[ id 0xb
    type Error
    severity High: dangerous undefined behavior
    source GL API
    msg Error:glGetFloatv::<pname> is not an accepted value
    when 1524036153380
    source 3.1 (ES profile, arb, debug, compat[ES2, ES3, ES31], FBO, hardware) - OpenGL ES 3.1 v1.r17p0-01rel0.a881d28363cdb20f0017ed13c980967e - hash 0xc39cf5]
    [2]: jogamp.opengl.GLDebugMessageHandler$StdErrGLDebugListener.messageSent(GLDebugMessageHandler.java:347)
    [3]: jogamp.opengl.GLDebugMessageHandler.sendMessage(GLDebugMessageHandler.java:332)
    [4]: jogamp.opengl.GLDebugMessageHandler.glDebugMessageARB(GLDebugMessageHandler.java:358)
    [5]: jogamp.opengl.es3.GLES3Impl.dispatch_glGetFloatv1(Native Method)
    [6]: jogamp.opengl.es3.GLES3Impl.glGetFloatv(GLES3Impl.java:1157)
    [7]: com.jogamp.opengl.DebugGLES3.glGetFloatv(DebugGLES3.java:3260)
    [8]: processing.opengl.PJOGL.getFloatv(PJOGL.java:1106)
    [9]: processing.opengl.PGraphicsOpenGL.getGLParameters(PGraphicsOpenGL.java:6892)
    [10]: processing.opengl.PGraphicsOpenGL.beginDraw(PGraphicsOpenGL.java:1454)
    [11]: processing.core.PApplet.handleDraw(PApplet.java:2388)
    [12]: processing.opengl.PSurfaceJOGL$DrawListener.display(PSurfaceJOGL.java:866)
    [13]: jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692)
    [14]: jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674)
    [15]: jogamp.opengl.GLAutoDrawableBase$2.run(GLAutoDrawableBase.java:443)
    [16]: jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293)
    [17]: jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
    [18]: com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:759)
    [19]: com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:81)
    [20]: com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:452)
    [21]: com.jogamp.opengl.util.FPSAnimator$MainTask.run(FPSAnimator.java:178)
    [22]: java.util.TimerThread.mainLoop(Timer.java:555)
    [23]: java.util.TimerThread.run(Timer.java:505)
2018-04-18 07:48:28 -07:00
gohai
853e83d7bc ARM Mali: Implement gDrawBuffer for gl3es3
I don't know IntBuffer and OpenGL well enought to say if this will leak memory or similar.
2018-04-17 23:24:27 -07:00
gohai
d3b7148cbc ARM Mali: Implement glBlitFramebuffer for gl3es3
Fixes:
java.lang.RuntimeException: GL function glBlitFramebuffer() is not available on this hardware (or driver) Read <a href="http://wiki.processing.org/w/OpenGL_Issues" target="_blank" rel="nofollow">http://wiki.processing.org/w/OpenGL_Issues</a> for help.
    at processing.opengl.PJOGL.blitFramebuffer(PJOGL.java:1939)
    at processing.opengl.PGL.syncBackTexture(PGL.java:595)
    at processing.opengl.PGL.endRender(PGL.java:769)
    at processing.opengl.PGraphicsOpenGL.endOnscreenDraw(PGraphicsOpenGL.java:6598)
    at processing.opengl.PGraphicsOpenGL.endDraw(PGraphicsOpenGL.java:1483)
    at processing.core.PApplet.handleDraw(PApplet.java:2444)
    at processing.opengl.PSurfaceJOGL$DrawListener.display(PSurfaceJOGL.java:866)
    at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692)
    at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674)
    at jogamp.opengl.GLAutoDrawableBase$2.run(GLAutoDrawableBase.java:443)
    at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293)
    at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
    at com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:759)
    at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:81)
    at com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:452)
    at com.jogamp.opengl.util.FPSAnimator$MainTask.run(FPSAnimator.java:178)
    at java.util.TimerThread.mainLoop(Timer.java:555)
    at java.util.TimerThread.run(Timer.java:505)
2018-04-17 23:24:27 -07:00
gohai
590f8ad33c ARM Mali: Specify precision for _fragColor
Fixes:
S0032: no default precision defined for variable '_fragColor'
2018-04-17 23:24:04 -07:00
gohai
24bb79928b ARM Mali: Report "es" as part of GLSL versions
Fixes:
P0007: Language version '300' unknown, this compiler only supports up to version '320 es'
2018-04-17 18:19:29 -07:00
gohai
78e376a39e ARM Mali: Implement glReadBuffer for gl3es3
Fixes:
java.lang.RuntimeException: GL function glReadBuffer() is not available on this hardware (or driver) Read <a href="http://wiki.processing.org/w/OpenGL_Issues" target="_blank" rel="nofollow">http://wiki.processing.org/w/OpenGL_Issues</a> for help.
    at processing.opengl.PJOGL.readBuffer(PJOGL.java:1954)
    at processing.opengl.PJOGL.initFBOLayerES(PJOGL.java:310)
    at processing.opengl.PJOGL.initFBOLayer(PJOGL.java:301)
    at processing.opengl.PGL.createFBOLayer(PGL.java:988)
    at processing.opengl.PGL.beginRender(PGL.java:727)
    at processing.opengl.PGraphicsOpenGL.beginOnscreenDraw(PGraphicsOpenGL.java:6576)
    at processing.opengl.PGraphicsOpenGL.beginDraw(PGraphicsOpenGL.java:1459)
    at processing.core.PApplet.handleDraw(PApplet.java:2388)
    at processing.opengl.PSurfaceJOGL$DrawListener.display(PSurfaceJOGL.java:866)
    at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692)
    at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674)
    at jogamp.opengl.GLAutoDrawableBase$2.run(GLAutoDrawableBase.java:443)
    at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293)
    at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
    at com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:759)
    at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:81)
    at com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:452)
    at com.jogamp.opengl.util.FPSAnimator$MainTask.run(FPSAnimator.java:178)
    at java.util.TimerThread.mainLoop(Timer.java:555)
    at java.util.TimerThread.run(Timer.java:505)
2018-04-17 18:12:43 -07:00
gohai
4d5b548820 ARM Mali: Implement glRenderbufferStorageMultisample for gl3es3
Fixes:
java.lang.RuntimeException: GL function glRenderbufferStorageMultisample() is not available on this hardware (or driver) Read <a href="http://wiki.processing.org/w/OpenGL_Issues" target="_blank" rel="nofollow">http://wiki.processing.org/w/OpenGL_Issues</a> for help.
    at processing.opengl.PJOGL.renderbufferStorageMultisample(PJOGL.java:1941)
    at processing.opengl.PGL.createFBOLayer(PGL.java:955)
    at processing.opengl.PGL.beginRender(PGL.java:727)
    at processing.opengl.PGraphicsOpenGL.beginOnscreenDraw(PGraphicsOpenGL.java:6577)
    at processing.opengl.PGraphicsOpenGL.beginDraw(PGraphicsOpenGL.java:1459)
    at processing.core.PApplet.handleDraw(PApplet.java:2388)
    at processing.opengl.PSurfaceJOGL$DrawListener.display(PSurfaceJOGL.java:866)
    at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692)
    at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674)
    at jogamp.opengl.GLAutoDrawableBase$2.run(GLAutoDrawableBase.java:443)
    at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293)
    at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
    at com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:759)
    at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:81)
    at com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:452)
    at com.jogamp.opengl.util.FPSAnimator$MainTask.run(FPSAnimator.java:178)
    at java.util.TimerThread.mainLoop(Timer.java:555)
    at java.util.TimerThread.run(Timer.java:505)
2018-04-17 17:59:39 -07:00
Ben Fry
beedf4d2b3 fix inaccurate error message for exec() 2018-04-05 10:43:14 -04:00
Ben Fry
a63ba1054e the default background rectangle must have no stroke 2018-03-28 12:01:02 -04:00
Ben Fry
1b51692025 make #5144 actually work 2018-03-26 19:17:48 -04:00
Ben Fry
870face37c Merge pull request #5144 from pacoelayudante/patch-1
make "loadXML(String)" handle "file not found"
2018-03-26 19:15:57 -04:00