Graham
5dd5ced72e
Replace openrs2.dev with openrs2.org
4 years ago
Graham
453289f189
Add glPixelZoom() binding
...
Used by the high DPI client patch.
4 years ago
Graham
fd392a59c1
Fix jaggl_pix cleanup if an error occurs
...
The previous pix_free label was in the wrong place, and the code
wouldn't break out of the loop.
4 years ago
Graham
01548cb617
Remove unused component_location variable
4 years ago
Graham
0a20f4954c
Reduce the amount of time the framebuffer lock is held for
4 years ago
Graham
37efde58ef
Check for CGLSetCurrentContext errors in drawInCGLContext
4 years ago
Graham
6c75a3c590
Delete framebuffer in dealloc
...
This seems to work reliably now.
4 years ago
Graham
380ada79d7
Remove autoresizingMask
...
It isn't required - AWT resizes the CALayer when the size of the Canvas
changes. I think this might be left over from the insets hack.
4 years ago
Graham
a0de6a8f4c
Compute insets on macOS
...
This isn't as hard as I imagined it would be, as we actually have a
Component reference in the appropriate method.
This fixes the fixed size HD client in a maximized window.
4 years ago
Graham
d5598a93cf
Fix build on macOS
...
A previous commit accidentally renamed platformInfo field in a DSI
struct field access to platform_info. It was only intended to rename the
platformInfo local variable to fit in with the naming scheme.
4 years ago
Graham
74f7a247d1
Align DSI bounds comments
5 years ago
Graham
6e702752d1
Use // for single-line comments
5 years ago
Graham
cf6597f45f
Fix typo: carry -> carray
5 years ago
Graham
409306d7ed
Rename platformInfo to platform_info
5 years ago
Graham
c77bc62557
Improve code for populating openrs2.jawtDirectory
...
The previous profile-based logic didn't work on Java 8 due to the
architecture-specific lib directories. It was also complicated by the
fact that nar.javaHome isn't set at profile activation time unless the
user manually specifies it with -D on the Maven command line.
This commit replaces it with an Ant task that runs during the
initialization phase. It finds the first (and probably only) jawt
library with glob matching, allowing us to search architecture-specific
lib directories.
If found, it strips the file name to get just the directory name and
sets openrs2.jawtProperty. If not found, it makes the build fail.
5 years ago
Graham
7a7c3bd502
Add openrs2.jawtDirectory property
5 years ago
Graham
ada6e2cba6
[maven-release-plugin] prepare for next development iteration
5 years ago
Graham
27fa333377
[maven-release-plugin] prepare release v1.0.0
5 years ago
Graham
fef5f1d396
Move license to the parent POM
5 years ago
Graham
ca0bbf5572
Add root README
5 years ago
Graham
4701b3d7f2
Move COPYING and COPYING.LESSER files to the root
5 years ago
Graham
b8b2492ac0
Add openrs2-natives parent POM
5 years ago
Graham
e24708b972
Remove unused openrs2.root property
5 years ago
Graham
d048d99890
Revert "Remove unnecessary jaggl locks"
...
This reverts commit 57012072a3ac3d4f63c8faa5584331d94f61fb7c.
This causes crashes when the canvas is resized.
5 years ago
Graham
1d2e19cd43
Update gl-natives description
5 years ago
Graham
86760cb308
Activate mac-legacy profile automatically
5 years ago
Graham
fcc45612f8
Add mac-legacy profile for building against Java 6 on macOS
5 years ago
Graham
b5d516c3d2
Use nar.javaHome instead of java.home
...
This allows the native libraries to be built against a JDK separate to the JDK
Maven runs under.
5 years ago
Graham
b01f8b7737
Use CGSize/CGRect where appropriate for 32-bit support
5 years ago
Graham
a7c56c9bef
Check that jaggl_context_appkit is non-NULL before update call
...
It is created after the observer is added, so there is a race condition.
5 years ago
Graham
ede4a96a09
Update NSView-backed OpenGL context on resize
5 years ago
Graham
5fbd3fec80
Add legacy NSView support
...
NSView is used in preference to CALayer if available, as we avoid all the
framebuffer blitting overhead.
5 years ago
Graham
097b3d244a
Include more specific headers on macOS
...
This reduces the compile time fairly significantly.
5 years ago
Graham
74516baaa6
Reduce screen corruption when resizing
...
This commit clears framebuffers when they are created, copies the contents of
the previous framebuffer to the new framebuffer when resizing and moves all the
resizing code into the blit method. All of these help to reduce screen
corruption, although a small amount still remains if you resize quickly.
5 years ago
Graham
5f22187451
Blit before swapping framebuffers
...
This fixes latency (and also screen corruption when resizing), as we blitted a
framebuffer that had already been displayed on the off-screen window rather
than the one that had just been rendered.
5 years ago
Graham
1a6793fb62
Make releaseCGLContext a no-op
...
It is sometimes called after the context is destroyed. Attempting to call any
gl* functions in this case causes a segfault.
5 years ago
Graham
1b85ddf874
Resize off-screen window after resizing the framebuffer
5 years ago
Graham
f50b381f95
Lock framebuffer variables accessed from multiple threads
5 years ago
Graham
733790a23b
Add comment to the flushBuffer/glFlush call on macOS
5 years ago
Graham
dc34668b5b
Set swap interval of the onscreen context on macOS
5 years ago
Graham
064ecf3497
Disable CAOpenGLLayer asynchronous mode
...
canDrawInCGLContext is called far more often than blit, so it seems like a
waste of effort.
5 years ago
Graham
c5b8487e1b
Create NSOpenGLContext synchronously
...
This is consistent with all other code that runs on the main UI thread, and
slightly easier to reason about.
5 years ago
Graham
2c20668aac
Add list of known macOS bugs to the gl-natives README
5 years ago
Graham
d3687ab98d
Fix JagGLLayer frame in resizable mode
5 years ago
Graham
753508ea26
Remove unnecessary jaggl locks
...
We only need to lock GLX calls, not standard OpenGL calls. This should
improve the performance of the jaggl bindings on UNIX systems.
5 years ago
Graham
7357273daa
Document why our ChoosePixelFormat usage is correct
5 years ago
Graham
5f15cfb895
Fix typo ('the version 3.0' -> 'version 3.0')
5 years ago
Graham
2249e971ca
Change GPL v3 -> v3.0
...
This is just to clarify that the intention is that only the original v3
license is acceptable.
5 years ago
Graham
3650637b81
Update TODO in jaggl.c
5 years ago
Graham
0c0ff1bdd5
Improve <description> wrapping
5 years ago