1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-11 23:54:18 +00:00
Commit graph

71 commits

Author SHA1 Message Date
reuk
83e5264c86
Formatting: Remove double-dots from comments and other strings 2025-11-18 15:47:42 +00:00
reuk
f5a6c510c0
OpenGLFrameBuffer: Add a row order parameter for reading and writing pixels
This also fixes a bug where saving and restoring the framebuffer state
could unexpectedly apply a vertical flip to the buffer content.
2025-07-10 16:16:12 +01:00
reuk
ac65cc5434
OpenGLFrameBuffer: Add early-exit in ~TransientState 2025-07-09 11:27:48 +01:00
reuk
1900dd4e4a
OpenGLFrameBuffer: Use ScopeGuard to unbind framebuffer 2025-07-09 11:27:34 +01:00
reuk
c2d52a5499
OpenGLFrameBuffer: Automatically save/restore content when the context is paused/resumed
This addresses an issue where OpenGL-backed image content could get lost
when putting and Android app into an inactive state. This happens
because the GL context gets destroyed, freeing all associated resources.

The workaround introduced here will listen for OpenGL state-change
events, and attempt to save and restore framebuffer content into main
memory, so that the content can be restored once the app is reactivated.
2025-07-09 11:24:43 +01:00
reuk
fc2caf0a4d
OpenGLFrameBuffer: Refactor to move stored OpenGLContext out of TransientState 2025-07-09 11:24:43 +01:00
reuk
29af89c72a
OpenGLFrameBuffer: Refactor pimpl to represent mutually exclusive states with std::variant 2025-07-09 11:24:43 +01:00
reuk
80c4268a5d
OpenGLFrameBuffer: Refactor SavedState in implementation to allow copying and moving 2025-07-09 11:24:43 +01:00
reuk
3991089409
OpenGLFrameBuffer: Refactor pimpl to completely hide SavedState 2025-07-09 11:24:43 +01:00
reuk
0da5827f72
OpenGLFrameBuffer: Remove unused members in implementation 2025-07-09 11:24:43 +01:00
reuk
00836d1e94
OpenGLFrameBuffer: Keep track of the previously-bound framebuffer 2025-05-19 13:30:27 +01:00
reuk
01821b5811
OpenGLFrameBuffer: Fix writePixels implementation, which previously blended instead of replacing existing pixels 2025-01-23 12:20:27 +00:00
Tom Poole
94d98a2b10 Update licensing information 2024-04-16 11:39:35 +01:00
reuk
af2a4a7e2a
OpenGL: Avoid enabling GL_TEXTURE_2D in core profile contexts 2023-03-06 12:35:26 +00:00
Tom Poole
2ec861d99e Update licensing banners to JUCE 7 2022-05-16 17:55:48 +01:00
Tom Poole
dea3fe60e4 Update copyright banners 2022-04-04 12:36:32 +01:00
reuk
31a7c62baf
Windows: Fix and suppress some analysis warnings
This fixes warnings that are emitted when building with the `-analyze`
flag enabled.
2021-05-26 15:34:26 +01:00
reuk
54423f6583
OpenGL: Add GLEW-inspired dynamic function loading 2021-05-26 11:23:49 +01:00
Tom Poole
79fbde7099 Added preliminary support for FreeBSD 2021-03-29 14:16:46 +01:00
ed
009d685179 Updated all license headers 2020-06-29 08:30:22 +01:00
Tom Poole
894e7d2bd2 Updated all license headers 2020-04-23 17:30:39 +01:00
reuk
327f817b9b Copyrights: Update commercial/gpl headers to be gpl-only 2020-04-09 15:22:56 +01:00
jules
359132ed55 More zero -> nullptr fixes 2018-10-09 11:42:55 +01:00
Tom Poole
ab863a6dc2 Replaced all usage of ScopedPointer with std::unique_ptr 2018-04-19 20:27:47 +01:00
jules
1a60fa9765 More ScopedPointer/unique_ptr compatibility work 2018-01-10 17:35:08 +00:00
jules
48a5fbd333 Another batch of ScopedPointer cleanups 2018-01-10 14:49:57 +00:00
jules
2dc9316420 Misc ScopedPointer changes to start using reset() and get() rather than assignments and casts (part of an ongoing drift towards more std::unique_ptr compatibility) 2017-11-01 17:41:06 +00:00
jules
eda613c6db Moved all "namespace juce" declarations from module headers to the individual .h and .cpp source files. This makes life a lot easier for Intellisense and other IDE autocompletion tools 2017-09-08 08:59:55 +01:00
hogliux
b5afccc37c Updated file headers and the README with the JUCE 5 license 2017-04-27 14:43:04 +01:00
jules
02492b36b9 Lots of small whitespace tweaks. 2015-12-13 19:32:05 +00:00
jules
c06db136bd Added a few noexcepts to some GL functions 2015-12-01 17:25:14 +00:00
hogliux
c7b8e77031 Update copyright notice 2015-07-22 15:59:34 +01:00
jules
f805382a83 Fix for iOS openGL framebuffers. 2014-03-27 09:52:42 +00:00
jules
aeb6657cb4 Some fixes and clean-ups to OpenGLFrameBuffer 2014-03-22 14:57:52 +00:00
jules
80387e8cb5 Stripped out all the old openGL fixed-function code, and hard-coded the assumption that it'll be running on hardware that's capable of running GLSL. 2014-02-23 16:23:34 +00:00
jules
03c2801f3f Copyright header update in all module files. juce_core modules are now ISC licensed. All other modules are GPLv2/3/AGPLv3 2013-06-13 13:17:12 +01:00
jules
c7506df13f Changed some pass-by-references to pass-by-value to improve compiler optimisation. 2013-05-22 23:05:53 -06:00
jules
cf781ecb75 OpenGL tweaks, including fix for flickering GL windows when resizing in OSX. 2013-03-09 18:04:58 +00:00
jules
e75663b467 Improved some openGL texture creation functionality. 2013-02-28 20:45:40 +00:00
jules
0ceeb573d8 Minor changes to avoid pedantic compiler warnings. 2012-12-04 21:39:15 +00:00
jules
6b1654e1d2 Fixed some more warnings. 2012-09-24 15:45:25 +01:00
jules
04c2d6cfc1 Added some GL error handling and tweaks to support older PC builds. 2012-04-03 14:51:22 +01:00
jules
351416c09a Tidied up some docs and comments. 2012-04-03 11:36:31 +01:00
jules
91a41ddbd8 OpenGL refactoring (stage 1) 2012-03-27 17:22:54 +01:00
jules
b338698e34 OpenGL: removed the fixed-function rendering code, replacing it with a simple software renderer that blits its results to the GL context. Removed the public OpenGLGraphicsContext class, replacing it with a createOpenGLGraphicsContext() function which returns an appropriate shader-based or software-based renderer object. 2012-03-15 11:13:38 +00:00
jules
ed9a2a1575 Minor android and GL clean-ups. 2012-03-01 17:52:03 +00:00
jules
109f0a32a4 OpenGL: added internal checks to catch GL errors (in debug mode). More Android GL progress. 2012-03-01 12:10:37 +00:00
jules
493a78f33d More openGL: removed problematic gl_FragCoord use; made shaders work in GLES2. 2012-01-10 14:25:21 +00:00
jules
b65b34ad40 More openGL refactoring, completion of all-shader graphic pipeline. 2012-01-09 17:07:14 +00:00
jules
4870ea28dd Refactored the dynamically-loaded OpenGL extension functions from being static to being members of a specific context object. This entails lots of OpenGLContext references being passed around all over the place, and has meant that a few static helper functions are no longer available. 2012-01-04 16:36:30 +00:00