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

237 commits

Author SHA1 Message Date
reuk
19061e6d17
Direct2D: Add initial support 2024-04-18 14:16:02 +01:00
Tom Poole
94d98a2b10 Update licensing information 2024-04-16 11:39:35 +01:00
Tom Poole
4153d59e39 Formatting 2023-10-02 15:42:20 +01:00
Tom Poole
7d45d498b9 Removed some superfluous consts from definitions 2023-09-20 16:31:10 +01:00
Tom Poole
9b041f3d74 Add a base clang-tidy configuration 2023-09-18 11:24:19 +01:00
reuk
c2949edda0
OpenGL: Avoid taking X lock when swapping buffers to reduce lock contention 2023-06-01 18:51:25 +01:00
reuk
ed15516087
OpenGL: Use newer GLX APIs 2023-06-01 18:51:06 +01:00
reuk
722b552657
OpenGL: Avoid signed integer truncation when computing frame time differences 2023-06-01 18:49:32 +01:00
Anthony Nicholls
05d5c94990
Native: Rename all native files for improved consistency 2023-04-04 19:54:29 +01:00
reuk
42021e3e9a
OpenGL: Avoid rare race on members used to compute frame times 2023-03-02 12:03:31 +00:00
reuk
8374725f98
XWindowSystem: Use ScopedWindowAssociation for improved DRYness 2022-12-14 11:12:32 +00:00
reuk
bac51aba8f
OpenGL: Avoid dispatching events to the OpenGL component peer after it is destroyed
The significant change here is that the XSaveContext call in the OpenGL
NativeContext now has a matching XDeleteContext call. This breaks the
connection between the X window and the ComponentPeer, so that we avoid
dereferencing a dangling ComponentPeer pointer if the window receives
events after the peer is destroyed.
2022-12-14 11:12:32 +00:00
reuk
da38c1ed2a
TextInputTarget: Improve IME support on Android 2022-12-07 13:12:02 +00:00
reuk
28f2157912
Convert ignoreUnused to [[maybe_unused]] 2022-12-01 11:41:50 +00:00
reuk
d8301ddc1c
OpenGL: Tidy up macOS implementation 2022-10-06 17:35:17 +01:00
reuk
19175ff698
OpenGL: Ensure that macOS uses the same (sRGB) colour space everywhere 2022-09-27 15:18:21 +01:00
reuk
2ae87f95f1
OpenGL: Carry out all GL rendering on a single thread 2022-09-27 15:18:21 +01:00
reuk
18aaa86761
OpenGL: Reduce error checking in Release builds 2022-09-26 18:03:47 +01:00
reuk
8ec8e36f5c OpenGLContext: Swap buffers on the main thread
This change fixes an issue where opening multiple OpenGLContexts on
certain versions of macOS (observed on 10.13) could cause a deadlock.

The issue can be reproduced by:
- Attaching an OpenGL context to the AudioPluginDemo editor
- Opening multiple copies of the editor simultaneously in a plugin host.
  I tested with Live 10.

I also observed the issue in a standalone app that opened new windows
containing OpenGLContexts on a timer.
2022-08-31 17:42:48 +01:00
reuk
322aa64459 OpenGLContext: Share CVDisplayLinks with NSViewComponentPeer 2022-08-31 17:42:47 +01:00
reuk
b27af5def9 OpenGL: Tidying 2022-08-31 17:42:47 +01:00
reuk
02b5ab748a OpenGL: Add support for a few more OpenGL profiles
- 4.1 and 4.3 contexts can now be requested
- The requested context version is no longer ignored on Linux
- Debugging contexts are now enabled in Debug builds with GL 4.3
- Fixes a bug where glEnable(GL_TEXTURE_2D) was called in core profiles
2022-08-31 17:42:47 +01:00
reuk
9712775e5b
macOS: Remove macOS 10.12 preprocessor checks
The current minimum-supported Xcode (10.1) includes the macOS 10.14.1
SDK, so APIs from macOS 10.12 will always be available.
2022-08-04 22:51:17 +01:00
reuk
b80f77f8b1
Android: Allow TalkBack borders to be displayed on OpenGL views 2022-06-13 15:29:57 +01:00
Tom Poole
2ec861d99e Update licensing banners to JUCE 7 2022-05-16 17:55:48 +01:00
reuk
7815d2007b
OpenGL: Set OpenGL view position correctly after adjusting the global scale factor 2022-04-22 14:18:49 +01:00
Tom Poole
dea3fe60e4 Update copyright banners 2022-04-04 12:36:32 +01:00
reuk
e367393a99
OpenGL: Use a core profile when OpenGL 3.2 is requested on Windows
This mirrors the behaviour on macOS.
2022-02-18 16:43:27 +00:00
reuk
e751a5edd7
OpenGL: Avoid race on minSwapTimeMs 2022-01-27 18:43:22 +00:00
ed
6eac100a79 macOS Accessibility: Pass through accessibility hit test to accessible view in MouseForwardingNSOpenGLViewClass 2021-12-21 15:36:36 +00:00
ed
b620bf1d43 Windows: Use compatibility profile when creating 3.2 context to allow deprecated function use 2021-12-06 14:27:01 +00:00
ed
e52582a561 Windows: Create OpenGL 3.2 context when specified (not 3.3) 2021-12-06 14:27:01 +00:00
ed
9867ee5c30 Whitespace 2021-12-06 14:27:01 +00:00
ed
2224bb9760 Windows: Recreate OpenGL context if pixel format changes 2021-12-03 12:26:13 +00:00
ed
4471efd1c5 Windows: Allow OpenGL 3.3 core profile context 2021-11-30 17:07:49 +00:00
reuk
81fa777ff7
ObjC Helpers: Automatically derive appropriate signature for function 2021-11-24 11:51:11 +00:00
ed
7d1918b385 macOS/iOS: Replace compile-time deployment target checks with runtime checks using the available keyword 2021-10-13 15:06:18 +01:00
ed
b9542ccc4c Update code to use C++14 [[deprecated]] attribute
This commit removes the various compiler-specific JUCE_DEPRECATED macros and replaces them with C++14's deprecated attribute. It also removes the JUCE_CATCH_DEPRECATED_CODE_MISUSE flag as we can rely on the override specifier catching usage of these old virtual methods, and tidies up the DOXYGEN preprocessor checks as they were inconsistent across the codebase.
2021-09-29 16:14:00 +01:00
reuk
abf493122f
OpenGL: Attempt to enable multisampling on Android 2021-09-22 11:04:47 +01:00
reuk
75258a4ba6
OpenGL: Add multisampling support on Linux 2021-09-22 11:04:46 +01:00
attila
5c933d4c4e macOS OpenGL: Use display refresh rate when rate limiting swapBuffers() 2021-09-10 17:47:00 +02:00
ed
7bc696cd28 Windows: Use Component::ScaleFactorListener in ActiveXComponent, OpenGL and video native code and remove some unnecessary JUCE_WIN_PER_MONITOR_DPI_AWARE checks 2021-09-08 11:21:41 +01:00
reuk
65396f986d
OpenGL: Use correct reference to glResolveMultisampleFramebufferAPPLE 2021-09-07 20:09:34 +01:00
reuk
7ac6911ccc
Windows: Fix clang/gnu compiler warnings 2021-06-03 17:30:44 +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
22777e5480 Linux: Remove embedded OpenGL window events from event queue when destroying
This fixes BadWindow errors from Expose events that may be processed after the window is destroyed.
2021-03-12 11:02:24 +00:00
ed
f6338c0f8e Windows: Added ScopedThreadDPIAwarenessSetter for correctly setting and resetting thread DPI-awareness for methods which interact with an HWND and removed some DPI workarounds 2021-03-02 15:56:10 +00:00
reuk
a31a4dc5f7
X11: Ensure repainting still works after destorying a GL context
On Linux, repaints are only issued if the number of received SHM
completion events matches the number of events initiated with
`xShmPutImage`.

Previously, destroying a GL context was calling `XSync (display, True)`
which cleared the event queue. Sometimes, this would cause an 'SHM
Completion Event' to be removed from the queue. This meant that the
number of received events would never match the number of initiated
events, and repainting would stop indefinitely.

By calling `XSync (display, False)` instead, we ensure that pending
events are kept in the queue, so any pending SHM completion event will
be found as usual during the next repaint timer callback.
2021-02-18 11:46:48 +00:00
ed
088e100c1f Narrowed the scoped of some undeclared Objective-C selector warnings 2020-12-10 12:48:42 +00:00