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
534d24a8
Unverified
Commit
534d24a8
authored
Oct 11, 2021
by
Andrew Rudenko
Committed by
GitHub
Oct 11, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Allow passing Accessible constructor to SkiaLayer. (#251)
parent
575edff1
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
19 additions
and
4 deletions
+19
-4
HardwareLayer.kt
...o/src/jvmMain/kotlin/org/jetbrains/skiko/HardwareLayer.kt
+12
-1
SkiaLayer.jvm.kt
...o/src/jvmMain/kotlin/org/jetbrains/skiko/SkiaLayer.jvm.kt
+7
-3
No files found.
skiko/src/jvmMain/kotlin/org/jetbrains/skiko/HardwareLayer.kt
View file @
534d24a8
package
org.jetbrains.skiko
package
org.jetbrains.skiko
import
java.awt.Canvas
import
java.awt.Canvas
import
java.awt.Component
import
java.awt.Graphics
import
java.awt.Graphics
import
java.awt.event.InputMethodEvent
import
java.awt.event.InputMethodEvent
import
javax.accessibility.Accessible
import
javax.accessibility.AccessibleContext
internal
open
class
HardwareLayer
:
Canvas
()
{
internal
open
class
HardwareLayer
(
externalAccessibleFactory
:
((
Component
)
->
Accessible
)?
=
null
)
:
Canvas
()
{
companion
object
{
companion
object
{
init
{
init
{
Library
.
load
()
Library
.
load
()
...
@@ -66,4 +71,10 @@ internal open class HardwareLayer : Canvas() {
...
@@ -66,4 +71,10 @@ internal open class HardwareLayer : Canvas() {
private
external
fun
getContentHandle
(
platformInfo
:
Long
):
Long
private
external
fun
getContentHandle
(
platformInfo
:
Long
):
Long
private
external
fun
getWindowHandle
(
platformInfo
:
Long
):
Long
private
external
fun
getWindowHandle
(
platformInfo
:
Long
):
Long
private
val
_externalAccessible
=
externalAccessibleFactory
?.
invoke
(
this
)
override
fun
getAccessibleContext
():
AccessibleContext
{
val
res
=
_externalAccessible
?.
accessibleContext
return
res
?:
super
.
getAccessibleContext
()
}
}
}
\ No newline at end of file
skiko/src/jvmMain/kotlin/org/jetbrains/skiko/SkiaLayer.jvm.kt
View file @
534d24a8
...
@@ -14,14 +14,17 @@ import org.jetbrains.skia.Rect
...
@@ -14,14 +14,17 @@ import org.jetbrains.skia.Rect
import
org.jetbrains.skiko.context.ContextHandler
import
org.jetbrains.skiko.context.ContextHandler
import
org.jetbrains.skiko.redrawer.Redrawer
import
org.jetbrains.skiko.redrawer.Redrawer
import
java.awt.Color
import
java.awt.Color
import
java.awt.Component
import
java.awt.Graphics
import
java.awt.Graphics
import
java.awt.event.*
import
java.awt.event.*
import
java.awt.im.InputMethodRequests
import
java.awt.im.InputMethodRequests
import
java.util.concurrent.CancellationException
import
java.util.concurrent.CancellationException
import
javax.accessibility.Accessible
import
javax.swing.JPanel
import
javax.swing.JPanel
import
javax.swing.SwingUtilities.isEventDispatchThread
import
javax.swing.SwingUtilities.isEventDispatchThread
actual
open
class
SkiaLayer
internal
constructor
(
actual
open
class
SkiaLayer
internal
constructor
(
externalAccessibleFactory
:
((
Component
)
->
Accessible
)?
=
null
,
private
val
properties
:
SkiaLayerProperties
=
makeDefaultSkiaLayerProperties
(),
private
val
properties
:
SkiaLayerProperties
=
makeDefaultSkiaLayerProperties
(),
private
val
renderFactory
:
RenderFactory
private
val
renderFactory
:
RenderFactory
)
:
JPanel
()
{
)
:
JPanel
()
{
...
@@ -41,8 +44,9 @@ actual open class SkiaLayer internal constructor(
...
@@ -41,8 +44,9 @@ actual open class SkiaLayer internal constructor(
internal
val
backedLayer
:
HardwareLayer
internal
val
backedLayer
:
HardwareLayer
constructor
(
constructor
(
properties
:
SkiaLayerProperties
=
makeDefaultSkiaLayerProperties
()
properties
:
SkiaLayerProperties
=
makeDefaultSkiaLayerProperties
(),
)
:
this
(
properties
,
RenderFactory
.
Default
)
externalAccessibleFactory
:
((
Component
)
->
Accessible
)?
=
null
)
:
this
(
externalAccessibleFactory
,
properties
,
RenderFactory
.
Default
)
val
canvas
:
java
.
awt
.
Canvas
val
canvas
:
java
.
awt
.
Canvas
get
()
=
backedLayer
get
()
=
backedLayer
...
@@ -51,7 +55,7 @@ actual open class SkiaLayer internal constructor(
...
@@ -51,7 +55,7 @@ actual open class SkiaLayer internal constructor(
isOpaque
=
false
isOpaque
=
false
background
=
Color
(
0
,
0
,
0
,
0
)
background
=
Color
(
0
,
0
,
0
,
0
)
layout
=
null
layout
=
null
backedLayer
=
object
:
HardwareLayer
()
{
backedLayer
=
object
:
HardwareLayer
(
externalAccessibleFactory
)
{
override
fun
paint
(
g
:
Graphics
)
{
override
fun
paint
(
g
:
Graphics
)
{
// 1. JPanel.paint is not always called (in rare cases).
// 1. JPanel.paint is not always called (in rare cases).
// For example if we call 'jframe.isResizable = false` on Ubuntu
// For example if we call 'jframe.isResizable = false` on Ubuntu
...
...
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