Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
skiko
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
liuqiang
skiko
Commits
32cd61cc
Commit
32cd61cc
authored
Feb 01, 2021
by
Igor Demin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Rename *Redrawer to *OpenGLRedrawer
parent
092c2196
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
35 additions
and
36 deletions
+35
-36
redrawer.cc
skiko/src/jvmMain/cpp/linux/redrawer.cc
+9
-9
redrawer.cc
skiko/src/jvmMain/cpp/windows/redrawer.cc
+7
-7
PlatformOperations.kt
.../jvmMain/kotlin/org/jetbrains/skiko/PlatformOperations.kt
+6
-7
LinuxOpenGLRedrawer.kt
...otlin/org/jetbrains/skiko/redrawer/LinuxOpenGLRedrawer.kt
+4
-4
MacOsOpenGLRedrawer.kt
...otlin/org/jetbrains/skiko/redrawer/MacOsOpenGLRedrawer.kt
+1
-1
WindowsOpenGLRedrawer.kt
...lin/org/jetbrains/skiko/redrawer/WindowsOpenGLRedrawer.kt
+4
-4
redrawer.m
skiko/src/jvmMain/objectiveC/macos/redrawer.m
+4
-4
No files found.
skiko/src/jvmMain/cpp/linux/redrawer.cc
View file @
32cd61cc
...
@@ -14,7 +14,7 @@ extern "C" jboolean Skiko_GetAWT(JNIEnv *env, JAWT *awt);
...
@@ -14,7 +14,7 @@ extern "C" jboolean Skiko_GetAWT(JNIEnv *env, JAWT *awt);
extern
"C"
extern
"C"
{
{
JNIEXPORT
jlong
JNICALL
Java_org_jetbrains_skiko_redrawer_LinuxRedrawerKt_lockDrawingSurfaceNative
(
JNIEnv
*
env
,
jobject
redrawer
,
jobject
layer
)
JNIEXPORT
jlong
JNICALL
Java_org_jetbrains_skiko_redrawer_Linux
OpenGL
RedrawerKt_lockDrawingSurfaceNative
(
JNIEnv
*
env
,
jobject
redrawer
,
jobject
layer
)
{
{
JAWT
awt
;
JAWT
awt
;
awt
.
version
=
(
jint
)
JAWT_VERSION_9
;
awt
.
version
=
(
jint
)
JAWT_VERSION_9
;
...
@@ -30,7 +30,7 @@ extern "C"
...
@@ -30,7 +30,7 @@ extern "C"
return
static_cast
<
jlong
>
(
reinterpret_cast
<
uintptr_t
>
(
ds
));
return
static_cast
<
jlong
>
(
reinterpret_cast
<
uintptr_t
>
(
ds
));
}
}
JNIEXPORT
jlong
JNICALL
Java_org_jetbrains_skiko_redrawer_LinuxRedrawerKt_unlockDrawingSurfaceNative
(
JNIEnv
*
env
,
jobject
redrawer
,
jlong
drawingSurfacePtr
)
JNIEXPORT
jlong
JNICALL
Java_org_jetbrains_skiko_redrawer_Linux
OpenGL
RedrawerKt_unlockDrawingSurfaceNative
(
JNIEnv
*
env
,
jobject
redrawer
,
jlong
drawingSurfacePtr
)
{
{
JAWT_DrawingSurface
*
ds
=
reinterpret_cast
<
JAWT_DrawingSurface
*>
(
static_cast
<
uintptr_t
>
(
drawingSurfacePtr
));
JAWT_DrawingSurface
*
ds
=
reinterpret_cast
<
JAWT_DrawingSurface
*>
(
static_cast
<
uintptr_t
>
(
drawingSurfacePtr
));
JAWT
awt
;
JAWT
awt
;
...
@@ -47,7 +47,7 @@ extern "C"
...
@@ -47,7 +47,7 @@ extern "C"
return
static_cast
<
jlong
>
(
reinterpret_cast
<
uintptr_t
>
(
ds
));
return
static_cast
<
jlong
>
(
reinterpret_cast
<
uintptr_t
>
(
ds
));
}
}
JNIEXPORT
jlong
JNICALL
Java_org_jetbrains_skiko_redrawer_LinuxRedrawerKt_getDisplay
(
JNIEnv
*
env
,
jobject
redrawer
,
jlong
drawingSurfacePtr
)
JNIEXPORT
jlong
JNICALL
Java_org_jetbrains_skiko_redrawer_Linux
OpenGL
RedrawerKt_getDisplay
(
JNIEnv
*
env
,
jobject
redrawer
,
jlong
drawingSurfacePtr
)
{
{
JAWT_DrawingSurface
*
ds
=
reinterpret_cast
<
JAWT_DrawingSurface
*>
(
static_cast
<
uintptr_t
>
(
drawingSurfacePtr
));
JAWT_DrawingSurface
*
ds
=
reinterpret_cast
<
JAWT_DrawingSurface
*>
(
static_cast
<
uintptr_t
>
(
drawingSurfacePtr
));
JAWT_DrawingSurfaceInfo
*
dsi
=
ds
->
GetDrawingSurfaceInfo
(
ds
);
JAWT_DrawingSurfaceInfo
*
dsi
=
ds
->
GetDrawingSurfaceInfo
(
ds
);
...
@@ -59,7 +59,7 @@ extern "C"
...
@@ -59,7 +59,7 @@ extern "C"
return
static_cast
<
jlong
>
(
reinterpret_cast
<
uintptr_t
>
(
display
));
return
static_cast
<
jlong
>
(
reinterpret_cast
<
uintptr_t
>
(
display
));
}
}
JNIEXPORT
jlong
JNICALL
Java_org_jetbrains_skiko_redrawer_LinuxRedrawerKt_getWindow
(
JNIEnv
*
env
,
jobject
redrawer
,
jlong
drawingSurfacePtr
)
JNIEXPORT
jlong
JNICALL
Java_org_jetbrains_skiko_redrawer_Linux
OpenGL
RedrawerKt_getWindow
(
JNIEnv
*
env
,
jobject
redrawer
,
jlong
drawingSurfacePtr
)
{
{
JAWT_DrawingSurface
*
ds
=
reinterpret_cast
<
JAWT_DrawingSurface
*>
(
static_cast
<
uintptr_t
>
(
drawingSurfacePtr
));
JAWT_DrawingSurface
*
ds
=
reinterpret_cast
<
JAWT_DrawingSurface
*>
(
static_cast
<
uintptr_t
>
(
drawingSurfacePtr
));
JAWT_DrawingSurfaceInfo
*
dsi
=
ds
->
GetDrawingSurfaceInfo
(
ds
);
JAWT_DrawingSurfaceInfo
*
dsi
=
ds
->
GetDrawingSurfaceInfo
(
ds
);
...
@@ -71,7 +71,7 @@ extern "C"
...
@@ -71,7 +71,7 @@ extern "C"
return
static_cast
<
jlong
>
(
reinterpret_cast
<
uintptr_t
>
(
window
));
return
static_cast
<
jlong
>
(
reinterpret_cast
<
uintptr_t
>
(
window
));
}
}
JNIEXPORT
void
JNICALL
Java_org_jetbrains_skiko_redrawer_LinuxRedrawerKt_setSwapInterval
(
JNIEnv
*
env
,
jobject
redrawer
,
jlong
displayPtr
,
jlong
windowPtr
,
jint
interval
)
JNIEXPORT
void
JNICALL
Java_org_jetbrains_skiko_redrawer_Linux
OpenGL
RedrawerKt_setSwapInterval
(
JNIEnv
*
env
,
jobject
redrawer
,
jlong
displayPtr
,
jlong
windowPtr
,
jint
interval
)
{
{
Display
*
display
=
reinterpret_cast
<
Display
*>
(
static_cast
<
uintptr_t
>
(
displayPtr
));
Display
*
display
=
reinterpret_cast
<
Display
*>
(
static_cast
<
uintptr_t
>
(
displayPtr
));
Window
window
=
reinterpret_cast
<
Window
>
(
static_cast
<
uintptr_t
>
(
windowPtr
));
Window
window
=
reinterpret_cast
<
Window
>
(
static_cast
<
uintptr_t
>
(
windowPtr
));
...
@@ -104,7 +104,7 @@ extern "C"
...
@@ -104,7 +104,7 @@ extern "C"
}
}
}
}
JNIEXPORT
void
JNICALL
Java_org_jetbrains_skiko_redrawer_LinuxRedrawerKt_swapBuffers
(
JNIEnv
*
env
,
jobject
redrawer
,
jlong
displayPtr
,
jlong
windowPtr
)
JNIEXPORT
void
JNICALL
Java_org_jetbrains_skiko_redrawer_Linux
OpenGL
RedrawerKt_swapBuffers
(
JNIEnv
*
env
,
jobject
redrawer
,
jlong
displayPtr
,
jlong
windowPtr
)
{
{
Display
*
display
=
reinterpret_cast
<
Display
*>
(
static_cast
<
uintptr_t
>
(
displayPtr
));
Display
*
display
=
reinterpret_cast
<
Display
*>
(
static_cast
<
uintptr_t
>
(
displayPtr
));
Window
window
=
reinterpret_cast
<
Window
>
(
static_cast
<
uintptr_t
>
(
windowPtr
));
Window
window
=
reinterpret_cast
<
Window
>
(
static_cast
<
uintptr_t
>
(
windowPtr
));
...
@@ -112,7 +112,7 @@ extern "C"
...
@@ -112,7 +112,7 @@ extern "C"
glXSwapBuffers
(
display
,
window
);
glXSwapBuffers
(
display
,
window
);
}
}
JNIEXPORT
void
JNICALL
Java_org_jetbrains_skiko_redrawer_LinuxRedrawerKt_makeCurrent
(
JNIEnv
*
env
,
jobject
redrawer
,
jlong
displayPtr
,
jlong
windowPtr
,
jlong
contextPtr
)
JNIEXPORT
void
JNICALL
Java_org_jetbrains_skiko_redrawer_Linux
OpenGL
RedrawerKt_makeCurrent
(
JNIEnv
*
env
,
jobject
redrawer
,
jlong
displayPtr
,
jlong
windowPtr
,
jlong
contextPtr
)
{
{
Display
*
display
=
reinterpret_cast
<
Display
*>
(
static_cast
<
uintptr_t
>
(
displayPtr
));
Display
*
display
=
reinterpret_cast
<
Display
*>
(
static_cast
<
uintptr_t
>
(
displayPtr
));
Window
window
=
reinterpret_cast
<
Window
>
(
static_cast
<
uintptr_t
>
(
windowPtr
));
Window
window
=
reinterpret_cast
<
Window
>
(
static_cast
<
uintptr_t
>
(
windowPtr
));
...
@@ -121,7 +121,7 @@ extern "C"
...
@@ -121,7 +121,7 @@ extern "C"
glXMakeCurrent
(
display
,
window
,
*
context
);
glXMakeCurrent
(
display
,
window
,
*
context
);
}
}
JNIEXPORT
jlong
JNICALL
Java_org_jetbrains_skiko_redrawer_LinuxRedrawerKt_createContext
(
JNIEnv
*
env
,
jobject
redrawer
,
jlong
displayPtr
)
JNIEXPORT
jlong
JNICALL
Java_org_jetbrains_skiko_redrawer_Linux
OpenGL
RedrawerKt_createContext
(
JNIEnv
*
env
,
jobject
redrawer
,
jlong
displayPtr
)
{
{
Display
*
display
=
reinterpret_cast
<
Display
*>
(
static_cast
<
uintptr_t
>
(
displayPtr
));
Display
*
display
=
reinterpret_cast
<
Display
*>
(
static_cast
<
uintptr_t
>
(
displayPtr
));
GLint
att
[]
=
{
GLX_RGBA
,
GLX_DOUBLEBUFFER
,
True
,
None
};
GLint
att
[]
=
{
GLX_RGBA
,
GLX_DOUBLEBUFFER
,
True
,
None
};
...
@@ -131,7 +131,7 @@ extern "C"
...
@@ -131,7 +131,7 @@ extern "C"
return
static_cast
<
jlong
>
(
reinterpret_cast
<
uintptr_t
>
(
context
));
return
static_cast
<
jlong
>
(
reinterpret_cast
<
uintptr_t
>
(
context
));
}
}
JNIEXPORT
void
JNICALL
Java_org_jetbrains_skiko_redrawer_LinuxRedrawerKt_destroyContext
(
JNIEnv
*
env
,
jobject
redrawer
,
jlong
displayPtr
,
jlong
contextPtr
)
JNIEXPORT
void
JNICALL
Java_org_jetbrains_skiko_redrawer_Linux
OpenGL
RedrawerKt_destroyContext
(
JNIEnv
*
env
,
jobject
redrawer
,
jlong
displayPtr
,
jlong
contextPtr
)
{
{
Display
*
display
=
reinterpret_cast
<
Display
*>
(
static_cast
<
uintptr_t
>
(
displayPtr
));
Display
*
display
=
reinterpret_cast
<
Display
*>
(
static_cast
<
uintptr_t
>
(
displayPtr
));
GLXContext
*
context
=
reinterpret_cast
<
GLXContext
*>
(
static_cast
<
uintptr_t
>
(
contextPtr
));
GLXContext
*
context
=
reinterpret_cast
<
GLXContext
*>
(
static_cast
<
uintptr_t
>
(
contextPtr
));
...
...
skiko/src/jvmMain/cpp/windows/redrawer.cc
View file @
32cd61cc
...
@@ -8,7 +8,7 @@ extern "C" jboolean Skiko_GetAWT(JNIEnv *env, JAWT *awt);
...
@@ -8,7 +8,7 @@ extern "C" jboolean Skiko_GetAWT(JNIEnv *env, JAWT *awt);
extern
"C"
extern
"C"
{
{
JNIEXPORT
jlong
JNICALL
Java_org_jetbrains_skiko_redrawer_WindowsRedrawerKt_getDevice
(
JNIEnv
*
env
,
jobject
redrawer
,
jobject
layer
)
JNIEXPORT
jlong
JNICALL
Java_org_jetbrains_skiko_redrawer_Windows
OpenGL
RedrawerKt_getDevice
(
JNIEnv
*
env
,
jobject
redrawer
,
jobject
layer
)
{
{
JAWT
awt
;
JAWT
awt
;
awt
.
version
=
(
jint
)
JAWT_VERSION_9
;
awt
.
version
=
(
jint
)
JAWT_VERSION_9
;
...
@@ -48,7 +48,7 @@ extern "C"
...
@@ -48,7 +48,7 @@ extern "C"
return
static_cast
<
jlong
>
(
reinterpret_cast
<
uintptr_t
>
(
device
));
return
static_cast
<
jlong
>
(
reinterpret_cast
<
uintptr_t
>
(
device
));
}
}
JNIEXPORT
void
JNICALL
Java_org_jetbrains_skiko_redrawer_WindowsRedrawerKt_setSwapInterval
(
JNIEnv
*
env
,
jobject
redrawer
,
jint
interval
)
JNIEXPORT
void
JNICALL
Java_org_jetbrains_skiko_redrawer_Windows
OpenGL
RedrawerKt_setSwapInterval
(
JNIEnv
*
env
,
jobject
redrawer
,
jint
interval
)
{
{
typedef
BOOL
(
WINAPI
*
PFNWGLSWAPINTERVALEXTPROC
)(
int
interval
);
typedef
BOOL
(
WINAPI
*
PFNWGLSWAPINTERVALEXTPROC
)(
int
interval
);
// according to [https://opengl.gpuinfo.org/listreports.php?extension=WGL_EXT_swap_control&option=not] (filter by OS=windows)
// according to [https://opengl.gpuinfo.org/listreports.php?extension=WGL_EXT_swap_control&option=not] (filter by OS=windows)
...
@@ -60,32 +60,32 @@ extern "C"
...
@@ -60,32 +60,32 @@ extern "C"
}
}
}
}
JNIEXPORT
void
JNICALL
Java_org_jetbrains_skiko_redrawer_WindowsRedrawerKt_swapBuffers
(
JNIEnv
*
env
,
jobject
redrawer
,
jlong
devicePtr
)
JNIEXPORT
void
JNICALL
Java_org_jetbrains_skiko_redrawer_Windows
OpenGL
RedrawerKt_swapBuffers
(
JNIEnv
*
env
,
jobject
redrawer
,
jlong
devicePtr
)
{
{
HDC
device
=
reinterpret_cast
<
HDC
>
(
static_cast
<
uintptr_t
>
(
devicePtr
));
HDC
device
=
reinterpret_cast
<
HDC
>
(
static_cast
<
uintptr_t
>
(
devicePtr
));
SwapBuffers
(
device
);
SwapBuffers
(
device
);
}
}
JNIEXPORT
void
JNICALL
Java_org_jetbrains_skiko_redrawer_WindowsRedrawerKt_makeCurrent
(
JNIEnv
*
env
,
jobject
redrawer
,
jlong
devicePtr
,
jlong
contextPtr
)
JNIEXPORT
void
JNICALL
Java_org_jetbrains_skiko_redrawer_Windows
OpenGL
RedrawerKt_makeCurrent
(
JNIEnv
*
env
,
jobject
redrawer
,
jlong
devicePtr
,
jlong
contextPtr
)
{
{
HDC
device
=
reinterpret_cast
<
HDC
>
(
static_cast
<
uintptr_t
>
(
devicePtr
));
HDC
device
=
reinterpret_cast
<
HDC
>
(
static_cast
<
uintptr_t
>
(
devicePtr
));
HGLRC
context
=
reinterpret_cast
<
HGLRC
>
(
static_cast
<
uintptr_t
>
(
contextPtr
));
HGLRC
context
=
reinterpret_cast
<
HGLRC
>
(
static_cast
<
uintptr_t
>
(
contextPtr
));
wglMakeCurrent
(
device
,
context
);
wglMakeCurrent
(
device
,
context
);
}
}
JNIEXPORT
jlong
JNICALL
Java_org_jetbrains_skiko_redrawer_WindowsRedrawerKt_createContext
(
JNIEnv
*
env
,
jobject
redrawer
,
jlong
devicePtr
)
JNIEXPORT
jlong
JNICALL
Java_org_jetbrains_skiko_redrawer_Windows
OpenGL
RedrawerKt_createContext
(
JNIEnv
*
env
,
jobject
redrawer
,
jlong
devicePtr
)
{
{
HDC
device
=
reinterpret_cast
<
HDC
>
(
static_cast
<
uintptr_t
>
(
devicePtr
));
HDC
device
=
reinterpret_cast
<
HDC
>
(
static_cast
<
uintptr_t
>
(
devicePtr
));
return
static_cast
<
jlong
>
(
reinterpret_cast
<
uintptr_t
>
(
wglCreateContext
(
device
)));
return
static_cast
<
jlong
>
(
reinterpret_cast
<
uintptr_t
>
(
wglCreateContext
(
device
)));
}
}
JNIEXPORT
void
JNICALL
Java_org_jetbrains_skiko_redrawer_WindowsRedrawerKt_deleteContext
(
JNIEnv
*
env
,
jobject
redrawer
,
jlong
contextPtr
)
JNIEXPORT
void
JNICALL
Java_org_jetbrains_skiko_redrawer_Windows
OpenGL
RedrawerKt_deleteContext
(
JNIEnv
*
env
,
jobject
redrawer
,
jlong
contextPtr
)
{
{
HGLRC
context
=
reinterpret_cast
<
HGLRC
>
(
static_cast
<
uintptr_t
>
(
contextPtr
));
HGLRC
context
=
reinterpret_cast
<
HGLRC
>
(
static_cast
<
uintptr_t
>
(
contextPtr
));
wglDeleteContext
(
context
);
wglDeleteContext
(
context
);
}
}
JNIEXPORT
void
JNICALL
Java_org_jetbrains_skiko_redrawer_WindowsRedrawerKt_dwmFlush
(
JNIEnv
*
env
,
jobject
redrawer
)
JNIEXPORT
void
JNICALL
Java_org_jetbrains_skiko_redrawer_Windows
OpenGL
RedrawerKt_dwmFlush
(
JNIEnv
*
env
,
jobject
redrawer
)
{
{
DwmFlush
();
DwmFlush
();
}
}
...
...
skiko/src/jvmMain/kotlin/org/jetbrains/skiko/PlatformOperations.kt
View file @
32cd61cc
package
org.jetbrains.skiko
package
org.jetbrains.skiko
import
org.jetbrains.skiko.GraphicsApi
import
org.jetbrains.skiko.context.renderApi
import
org.jetbrains.skiko.context.renderApi
import
org.jetbrains.skiko.redrawer.LinuxRedrawer
import
org.jetbrains.skiko.redrawer.Linux
OpenGL
Redrawer
import
org.jetbrains.skiko.redrawer.MacOsRedrawer
import
org.jetbrains.skiko.redrawer.MacOs
OpenGL
Redrawer
import
org.jetbrains.skiko.redrawer.RasterRedrawer
import
org.jetbrains.skiko.redrawer.RasterRedrawer
import
org.jetbrains.skiko.redrawer.Redrawer
import
org.jetbrains.skiko.redrawer.Redrawer
import
org.jetbrains.skiko.redrawer.WindowsRedrawer
import
org.jetbrains.skiko.redrawer.Windows
OpenGL
Redrawer
import
java.awt.Component
import
java.awt.Component
import
java.awt.Window
import
java.awt.Window
import
javax.swing.SwingUtilities
import
javax.swing.SwingUtilities
...
@@ -35,7 +34,7 @@ internal val platformOperations: PlatformOperations by lazy {
...
@@ -35,7 +34,7 @@ internal val platformOperations: PlatformOperations by lazy {
override
fun
createRedrawer
(
layer
:
HardwareLayer
)
=
when
(
renderApi
)
{
override
fun
createRedrawer
(
layer
:
HardwareLayer
)
=
when
(
renderApi
)
{
GraphicsApi
.
SOFTWARE
->
RasterRedrawer
(
layer
)
GraphicsApi
.
SOFTWARE
->
RasterRedrawer
(
layer
)
else
->
MacOsRedrawer
(
layer
)
else
->
MacOs
OpenGL
Redrawer
(
layer
)
}
}
}
}
OS
.
Windows
->
{
OS
.
Windows
->
{
...
@@ -58,7 +57,7 @@ internal val platformOperations: PlatformOperations by lazy {
...
@@ -58,7 +57,7 @@ internal val platformOperations: PlatformOperations by lazy {
override
fun
createRedrawer
(
layer
:
HardwareLayer
)
=
when
(
renderApi
)
{
override
fun
createRedrawer
(
layer
:
HardwareLayer
)
=
when
(
renderApi
)
{
GraphicsApi
.
SOFTWARE
->
RasterRedrawer
(
layer
)
GraphicsApi
.
SOFTWARE
->
RasterRedrawer
(
layer
)
else
->
WindowsRedrawer
(
layer
)
else
->
Windows
OpenGL
Redrawer
(
layer
)
}
}
}
}
}
}
...
@@ -94,7 +93,7 @@ internal val platformOperations: PlatformOperations by lazy {
...
@@ -94,7 +93,7 @@ internal val platformOperations: PlatformOperations by lazy {
override
fun
createRedrawer
(
layer
:
HardwareLayer
)
=
when
(
renderApi
)
{
override
fun
createRedrawer
(
layer
:
HardwareLayer
)
=
when
(
renderApi
)
{
GraphicsApi
.
SOFTWARE
->
RasterRedrawer
(
layer
)
GraphicsApi
.
SOFTWARE
->
RasterRedrawer
(
layer
)
else
->
LinuxRedrawer
(
layer
)
else
->
Linux
OpenGL
Redrawer
(
layer
)
}
}
}
}
}
}
...
...
skiko/src/jvmMain/kotlin/org/jetbrains/skiko/redrawer/LinuxRedrawer.kt
→
skiko/src/jvmMain/kotlin/org/jetbrains/skiko/redrawer/Linux
OpenGL
Redrawer.kt
View file @
32cd61cc
...
@@ -8,7 +8,7 @@ import org.jetbrains.skiko.HardwareLayer
...
@@ -8,7 +8,7 @@ import org.jetbrains.skiko.HardwareLayer
import
org.jetbrains.skiko.OpenGLApi
import
org.jetbrains.skiko.OpenGLApi
import
org.jetbrains.skiko.SkikoProperties
import
org.jetbrains.skiko.SkikoProperties
internal
class
LinuxRedrawer
(
internal
class
Linux
OpenGL
Redrawer
(
private
val
layer
:
HardwareLayer
private
val
layer
:
HardwareLayer
)
:
Redrawer
{
)
:
Redrawer
{
private
val
context
=
layer
.
lockDrawingSurface
{
private
val
context
=
layer
.
lockDrawingSurface
{
...
@@ -49,9 +49,9 @@ internal class LinuxRedrawer(
...
@@ -49,9 +49,9 @@ internal class LinuxRedrawer(
}
}
companion
object
{
companion
object
{
private
val
toRedraw
=
mutableSetOf
<
LinuxRedrawer
>()
private
val
toRedraw
=
mutableSetOf
<
Linux
OpenGL
Redrawer
>()
private
val
toRedrawCopy
=
mutableSetOf
<
LinuxRedrawer
>()
private
val
toRedrawCopy
=
mutableSetOf
<
Linux
OpenGL
Redrawer
>()
private
val
toRedrawAlive
=
toRedrawCopy
.
asSequence
().
filterNot
(
LinuxRedrawer
::
isDisposed
)
private
val
toRedrawAlive
=
toRedrawCopy
.
asSequence
().
filterNot
(
Linux
OpenGL
Redrawer
::
isDisposed
)
private
val
frameDispatcher
=
FrameDispatcher
(
Dispatchers
.
Swing
)
{
private
val
frameDispatcher
=
FrameDispatcher
(
Dispatchers
.
Swing
)
{
toRedrawCopy
.
clear
()
toRedrawCopy
.
clear
()
...
...
skiko/src/jvmMain/kotlin/org/jetbrains/skiko/redrawer/MacOsRedrawer.kt
→
skiko/src/jvmMain/kotlin/org/jetbrains/skiko/redrawer/MacOs
OpenGL
Redrawer.kt
View file @
32cd61cc
...
@@ -10,7 +10,7 @@ import org.jetbrains.skiko.SkikoProperties
...
@@ -10,7 +10,7 @@ import org.jetbrains.skiko.SkikoProperties
import
javax.swing.SwingUtilities.convertPoint
import
javax.swing.SwingUtilities.convertPoint
import
javax.swing.SwingUtilities.getRootPane
import
javax.swing.SwingUtilities.getRootPane
internal
class
MacOsRedrawer
(
internal
class
MacOs
OpenGL
Redrawer
(
private
val
layer
:
HardwareLayer
private
val
layer
:
HardwareLayer
)
:
Redrawer
{
)
:
Redrawer
{
private
val
containerLayerPtr
=
initContainer
(
layer
)
private
val
containerLayerPtr
=
initContainer
(
layer
)
...
...
skiko/src/jvmMain/kotlin/org/jetbrains/skiko/redrawer/WindowsRedrawer.kt
→
skiko/src/jvmMain/kotlin/org/jetbrains/skiko/redrawer/Windows
OpenGL
Redrawer.kt
View file @
32cd61cc
...
@@ -9,7 +9,7 @@ import org.jetbrains.skiko.HardwareLayer
...
@@ -9,7 +9,7 @@ import org.jetbrains.skiko.HardwareLayer
import
org.jetbrains.skiko.OpenGLApi
import
org.jetbrains.skiko.OpenGLApi
import
org.jetbrains.skiko.SkikoProperties
import
org.jetbrains.skiko.SkikoProperties
internal
class
WindowsRedrawer
(
internal
class
Windows
OpenGL
Redrawer
(
private
val
layer
:
HardwareLayer
private
val
layer
:
HardwareLayer
)
:
Redrawer
{
)
:
Redrawer
{
private
val
device
=
getDevice
(
layer
)
private
val
device
=
getDevice
(
layer
)
...
@@ -58,9 +58,9 @@ internal class WindowsRedrawer(
...
@@ -58,9 +58,9 @@ internal class WindowsRedrawer(
private
fun
swapBuffers
()
=
swapBuffers
(
device
)
private
fun
swapBuffers
()
=
swapBuffers
(
device
)
companion
object
{
companion
object
{
private
val
toRedraw
=
mutableSetOf
<
WindowsRedrawer
>()
private
val
toRedraw
=
mutableSetOf
<
Windows
OpenGL
Redrawer
>()
private
val
toRedrawCopy
=
mutableSetOf
<
WindowsRedrawer
>()
private
val
toRedrawCopy
=
mutableSetOf
<
Windows
OpenGL
Redrawer
>()
private
val
toRedrawAlive
=
toRedrawCopy
.
asSequence
().
filterNot
(
WindowsRedrawer
::
isDisposed
)
private
val
toRedrawAlive
=
toRedrawCopy
.
asSequence
().
filterNot
(
Windows
OpenGL
Redrawer
::
isDisposed
)
private
val
frameDispatcher
=
FrameDispatcher
(
Dispatchers
.
Swing
)
{
private
val
frameDispatcher
=
FrameDispatcher
(
Dispatchers
.
Swing
)
{
toRedrawCopy
.
clear
()
toRedrawCopy
.
clear
()
...
...
skiko/src/jvmMain/objectiveC/macos/redrawer.m
View file @
32cd61cc
...
@@ -69,7 +69,7 @@ JavaVM *jvm = NULL;
...
@@ -69,7 +69,7 @@ JavaVM *jvm = NULL;
@end
@end
JNIEXPORT
jlong
JNICALL
Java_org_jetbrains_skiko_redrawer_MacOsRedrawerKt_initContainer
(
JNIEnv
*
env
,
jobject
redrawer
,
jobject
layer
)
JNIEXPORT
jlong
JNICALL
Java_org_jetbrains_skiko_redrawer_MacOs
OpenGL
RedrawerKt_initContainer
(
JNIEnv
*
env
,
jobject
redrawer
,
jobject
layer
)
{
{
JAWT
awt
;
JAWT
awt
;
awt
.
version
=
JAWT_VERSION_9
;
awt
.
version
=
JAWT_VERSION_9
;
...
@@ -101,14 +101,14 @@ JNIEXPORT jlong JNICALL Java_org_jetbrains_skiko_redrawer_MacOsRedrawerKt_initCo
...
@@ -101,14 +101,14 @@ JNIEXPORT jlong JNICALL Java_org_jetbrains_skiko_redrawer_MacOsRedrawerKt_initCo
return
(
jlong
)
container
;
return
(
jlong
)
container
;
}
}
JNIEXPORT
void
JNICALL
Java_org_jetbrains_skiko_redrawer_MacOsRedrawerKt_setContentScale
(
JNIEnv
*
env
,
jobject
obj
,
jlong
layerPtr
,
jfloat
contentScale
)
JNIEXPORT
void
JNICALL
Java_org_jetbrains_skiko_redrawer_MacOs
OpenGL
RedrawerKt_setContentScale
(
JNIEnv
*
env
,
jobject
obj
,
jlong
layerPtr
,
jfloat
contentScale
)
{
{
CALayer
*
layer
=
(
CALayer
*
)
layerPtr
;
CALayer
*
layer
=
(
CALayer
*
)
layerPtr
;
assert
(
contentScale
!=
0
);
assert
(
contentScale
!=
0
);
layer
.
contentsScale
=
contentScale
;
layer
.
contentsScale
=
contentScale
;
}
}
JNIEXPORT
jlong
JNICALL
Java_org_jetbrains_skiko_redrawer_MacOsRedrawerKt_initAWTGLLayer
(
JNIEnv
*
env
,
jobject
obj
,
jlong
containerPtr
,
jobject
layer
,
jboolean
setNeedsDisplayOnBoundsChange
)
JNIEXPORT
jlong
JNICALL
Java_org_jetbrains_skiko_redrawer_MacOs
OpenGL
RedrawerKt_initAWTGLLayer
(
JNIEnv
*
env
,
jobject
obj
,
jlong
containerPtr
,
jobject
layer
,
jboolean
setNeedsDisplayOnBoundsChange
)
{
{
CALayer
*
container
=
(
CALayer
*
)
containerPtr
;
CALayer
*
container
=
(
CALayer
*
)
containerPtr
;
...
@@ -120,7 +120,7 @@ JNIEXPORT jlong JNICALL Java_org_jetbrains_skiko_redrawer_MacOsRedrawerKt_initAW
...
@@ -120,7 +120,7 @@ JNIEXPORT jlong JNICALL Java_org_jetbrains_skiko_redrawer_MacOsRedrawerKt_initAW
return
(
jlong
)
glLayer
;
return
(
jlong
)
glLayer
;
}
}
JNIEXPORT
void
JNICALL
Java_org_jetbrains_skiko_redrawer_MacOsRedrawerKt_disposeAWTGLLayer
(
JNIEnv
*
env
,
jobject
obj
,
jlong
ptr
)
JNIEXPORT
void
JNICALL
Java_org_jetbrains_skiko_redrawer_MacOs
OpenGL
RedrawerKt_disposeAWTGLLayer
(
JNIEnv
*
env
,
jobject
obj
,
jlong
ptr
)
{
{
AWTGLLayer
*
glLayer
=
(
AWTGLLayer
*
)
ptr
;
AWTGLLayer
*
glLayer
=
(
AWTGLLayer
*
)
ptr
;
[
glLayer
removeFromSuperlayer
];
[
glLayer
removeFromSuperlayer
];
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment