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
084c17ad
Unverified
Commit
084c17ad
authored
Jan 18, 2022
by
Nikolay Igotti
Committed by
GitHub
Jan 18, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Cleanup samples (#453)
parent
3facce45
Changes
18
Show whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
59 additions
and
56 deletions
+59
-56
blank.yml
.github/workflows/blank.yml
+3
-3
README.md
README.md
+1
-1
.project
samples/SkiaAwtSample/.project
+0
-0
build.gradle.kts
samples/SkiaAwtSample/build.gradle.kts
+1
-1
JetBrainsMono-Regular.ttf
samples/SkiaAwtSample/fonts/JetBrainsMono-Regular.ttf
+0
-0
gradle-wrapper.jar
samples/SkiaAwtSample/gradle/wrapper/gradle-wrapper.jar
+0
-0
gradle-wrapper.properties
...es/SkiaAwtSample/gradle/wrapper/gradle-wrapper.properties
+0
-0
gradlew
samples/SkiaAwtSample/gradlew
+0
-0
gradlew.bat
samples/SkiaAwtSample/gradlew.bat
+0
-0
settings.gradle.kts
samples/SkiaAwtSample/settings.gradle.kts
+9
-0
App.kt
samples/SkiaAwtSample/src/main/kotlin/SkiaAwtSample/App.kt
+6
-5
ClocksAwt.kt
.../SkiaAwtSample/src/main/kotlin/SkiaAwtSample/ClocksAwt.kt
+11
-10
PureSwing.kt
.../SkiaAwtSample/src/main/kotlin/SkiaAwtSample/PureSwing.kt
+6
-6
SkiaPanel.kt
.../SkiaAwtSample/src/main/kotlin/SkiaAwtSample/SkiaPanel.kt
+1
-1
SwingSkia.kt
.../SkiaAwtSample/src/main/kotlin/SkiaAwtSample/SwingSkia.kt
+14
-22
build.gradle.kts
samples/SkiaMultiplatformSample/build.gradle.kts
+6
-6
App.awt.kt
.../src/awtMain/kotlin/org/jetbrains/skiko/sample/App.awt.kt
+0
-0
settings.gradle
settings.gradle
+1
-1
No files found.
.github/workflows/blank.yml
View file @
084c17ad
...
@@ -31,7 +31,7 @@ jobs:
...
@@ -31,7 +31,7 @@ jobs:
./gradlew --stacktrace --info -Pskiko.native.enabled=true :skiko:awtTest
./gradlew --stacktrace --info -Pskiko.native.enabled=true :skiko:awtTest
./gradlew --stacktrace --info -Pskiko.native.enabled=true :skiko:macosX64Test
./gradlew --stacktrace --info -Pskiko.native.enabled=true :skiko:macosX64Test
./gradlew --stacktrace --info -Pskiko.native.enabled=true :skiko:publishToMavenLocal
./gradlew --stacktrace --info -Pskiko.native.enabled=true :skiko:publishToMavenLocal
./gradlew --stacktrace --info :Skia
JvmSample:installDist # check jvm
sample works
./gradlew --stacktrace --info :Skia
AwtSample:installDist # check AWT
sample works
-
uses
:
actions/upload-artifact@v2
-
uses
:
actions/upload-artifact@v2
with
:
with
:
name
:
test-reports-macos
name
:
test-reports-macos
...
@@ -88,7 +88,7 @@ jobs:
...
@@ -88,7 +88,7 @@ jobs:
export DISPLAY=:0
export DISPLAY=:0
./gradlew --stacktrace --info -Pskiko.native.enabled=true :skiko:linuxX64Test :skiko:awtTest
./gradlew --stacktrace --info -Pskiko.native.enabled=true :skiko:linuxX64Test :skiko:awtTest
./gradlew --stacktrace --info :skiko:publishToMavenLocal
./gradlew --stacktrace --info :skiko:publishToMavenLocal
./gradlew --stacktrace --info :Skia
Jvm
Sample:installDist # check jvm sample works
./gradlew --stacktrace --info :Skia
Awt
Sample:installDist # check jvm sample works
-
uses
:
actions/upload-artifact@v2
-
uses
:
actions/upload-artifact@v2
with
:
with
:
name
:
test-reports-linux
name
:
test-reports-linux
...
@@ -146,7 +146,7 @@ jobs:
...
@@ -146,7 +146,7 @@ jobs:
run
:
|
run
:
|
./gradlew --stacktrace --info :skiko:awtTest
./gradlew --stacktrace --info :skiko:awtTest
./gradlew --stacktrace --info :skiko:publishToMavenLocal
./gradlew --stacktrace --info :skiko:publishToMavenLocal
./gradlew --stacktrace --info :Skia
Jvm
Sample:installDist # check jvm sample works
./gradlew --stacktrace --info :Skia
Awt
Sample:installDist # check jvm sample works
-
uses
:
actions/upload-artifact@v2
-
uses
:
actions/upload-artifact@v2
with
:
with
:
name
:
test-reports-windows
name
:
test-reports-windows
...
...
README.md
View file @
084c17ad
...
@@ -116,4 +116,4 @@ Don't run any background tasks, click mouse, or press keys during the tests. Oth
...
@@ -116,4 +116,4 @@ Don't run any background tasks, click mouse, or press keys during the tests. Oth
#### Run samples
#### Run samples
-
First follow the instruction here:
[
Building JVM bindings
](
#building-jvm-bindings
)
-
First follow the instruction here:
[
Building JVM bindings
](
#building-jvm-bindings
)
-
`./gradlew :Skia
JvmSample:run`
-
`./gradlew :Skia
AwtSample:run`
samples/Skia
Jvm
Sample/.project
→
samples/Skia
Awt
Sample/.project
View file @
084c17ad
File moved
samples/Skia
Jvm
Sample/build.gradle.kts
→
samples/Skia
Awt
Sample/build.gradle.kts
View file @
084c17ad
...
@@ -44,7 +44,7 @@ dependencies {
...
@@ -44,7 +44,7 @@ dependencies {
}
}
application
{
application
{
mainClass
.
set
(
"Skia
Jvm
Sample.AppKt"
)
mainClass
.
set
(
"Skia
Awt
Sample.AppKt"
)
}
}
val
additionalArguments
=
mutableMapOf
<
String
,
String
>()
val
additionalArguments
=
mutableMapOf
<
String
,
String
>()
...
...
samples/Skia
Jvm
Sample/fonts/JetBrainsMono-Regular.ttf
→
samples/Skia
Awt
Sample/fonts/JetBrainsMono-Regular.ttf
View file @
084c17ad
File moved
samples/Skia
Jvm
Sample/gradle/wrapper/gradle-wrapper.jar
→
samples/Skia
Awt
Sample/gradle/wrapper/gradle-wrapper.jar
View file @
084c17ad
File moved
samples/Skia
Jvm
Sample/gradle/wrapper/gradle-wrapper.properties
→
samples/Skia
Awt
Sample/gradle/wrapper/gradle-wrapper.properties
View file @
084c17ad
File moved
samples/Skia
Jvm
Sample/gradlew
→
samples/Skia
Awt
Sample/gradlew
View file @
084c17ad
File moved
samples/Skia
Jvm
Sample/gradlew.bat
→
samples/Skia
Awt
Sample/gradlew.bat
View file @
084c17ad
File moved
samples/Skia
Jvm
Sample/settings.gradle.kts
→
samples/Skia
Awt
Sample/settings.gradle.kts
View file @
084c17ad
...
@@ -2,11 +2,8 @@ pluginManagement {
...
@@ -2,11 +2,8 @@ pluginManagement {
repositories
{
repositories
{
mavenCentral
()
mavenCentral
()
gradlePluginPortal
()
gradlePluginPortal
()
maven
{
url
=
uri
(
"https://dl.bintray.com/kotlin/kotlin-eap"
)
}
}
}
}
}
rootProject
.
name
=
"Skia
Jvm
Sample"
rootProject
.
name
=
"Skia
Awt
Sample"
samples/Skia
JvmSample/src/main/kotlin/SkiaJvm
Sample/App.kt
→
samples/Skia
AwtSample/src/main/kotlin/SkiaAwt
Sample/App.kt
View file @
084c17ad
package
Skia
Jvm
Sample
package
Skia
Awt
Sample
import
kotlinx.coroutines.*
import
kotlinx.coroutines.*
import
org.jetbrains.skiko.*
import
org.jetbrains.skiko.*
...
@@ -14,8 +14,8 @@ import javax.imageio.ImageIO
...
@@ -14,8 +14,8 @@ import javax.imageio.ImageIO
fun
main
(
args
:
Array
<
String
>)
{
fun
main
(
args
:
Array
<
String
>)
{
val
windows
=
parseArgs
(
args
)
val
windows
=
parseArgs
(
args
)
repeat
(
windows
)
{
repeat
(
windows
)
{
when
(
System
.
getProperty
(
"skiko.interop"
))
{
when
(
System
.
getProperty
(
"skiko.
swing.
interop"
))
{
"true"
->
S
wingSkia
()
"true"
->
s
wingSkia
()
else
->
createWindow
(
"window $it"
,
windows
==
1
)
else
->
createWindow
(
"window $it"
,
windows
==
1
)
}
}
}
}
...
@@ -23,7 +23,7 @@ fun main(args: Array<String>) {
...
@@ -23,7 +23,7 @@ fun main(args: Array<String>) {
fun
createWindow
(
title
:
String
,
exitOnClose
:
Boolean
)
=
SwingUtilities
.
invokeLater
{
fun
createWindow
(
title
:
String
,
exitOnClose
:
Boolean
)
=
SwingUtilities
.
invokeLater
{
val
skiaLayer
=
SkiaLayer
()
val
skiaLayer
=
SkiaLayer
()
val
clocks
=
Clocks
Jvm
(
skiaLayer
)
val
clocks
=
Clocks
Awt
(
skiaLayer
)
val
window
=
JFrame
(
title
)
val
window
=
JFrame
(
title
)
window
.
defaultCloseOperation
=
window
.
defaultCloseOperation
=
...
@@ -63,6 +63,7 @@ fun createWindow(title: String, exitOnClose: Boolean) = SwingUtilities.invokeLat
...
@@ -63,6 +63,7 @@ fun createWindow(title: String, exitOnClose: Boolean) = SwingUtilities.invokeLat
miTakeScreenshot
.
addActionListener
(
object
:
ActionListener
{
miTakeScreenshot
.
addActionListener
(
object
:
ActionListener
{
override
fun
actionPerformed
(
actionEvent
:
ActionEvent
?)
{
override
fun
actionPerformed
(
actionEvent
:
ActionEvent
?)
{
val
screenshot
=
skiaLayer
.
screenshot
()
!!
val
screenshot
=
skiaLayer
.
screenshot
()
!!
@OptIn
(
DelicateCoroutinesApi
::
class
)
GlobalScope
.
launch
(
Dispatchers
.
IO
)
{
GlobalScope
.
launch
(
Dispatchers
.
IO
)
{
val
image
=
screenshot
.
toBufferedImage
()
val
image
=
screenshot
.
toBufferedImage
()
ImageIO
.
write
(
image
,
"png"
,
File
(
defaultScreenshotPath
))
ImageIO
.
write
(
image
,
"png"
,
File
(
defaultScreenshotPath
))
...
...
samples/Skia
JvmSample/src/main/kotlin/SkiaJvmSample/ClocksJvm
.kt
→
samples/Skia
AwtSample/src/main/kotlin/SkiaAwtSample/ClocksAwt
.kt
View file @
084c17ad
package
Skia
Jvm
Sample
package
Skia
Awt
Sample
import
org.jetbrains.skiko.*
import
org.jetbrains.skiko.*
import
org.jetbrains.skia.*
import
org.jetbrains.skia.*
...
@@ -10,22 +10,22 @@ import kotlin.math.cos
...
@@ -10,22 +10,22 @@ import kotlin.math.cos
import
kotlin.math.sin
import
kotlin.math.sin
import
kotlin.math.PI
import
kotlin.math.PI
class
Clocks
Jvm
(
private
val
layer
:
SkiaLayer
):
SkikoView
{
class
Clocks
Awt
(
private
val
layer
:
SkiaLayer
):
SkikoView
{
val
typeface
=
Typeface
.
makeFromFile
(
"fonts/JetBrainsMono-Regular.ttf"
)
private
val
typeface
=
Typeface
.
makeFromFile
(
"fonts/JetBrainsMono-Regular.ttf"
)
val
font
=
Font
(
typeface
,
40f
)
private
val
font
=
Font
(
typeface
,
40f
)
val
paint
=
Paint
().
apply
{
private
val
paint
=
Paint
().
apply
{
color
=
0
xff9BC730L
.
toInt
()
color
=
0
xff9BC730L
.
toInt
()
mode
=
PaintMode
.
FILL
mode
=
PaintMode
.
FILL
strokeWidth
=
1f
strokeWidth
=
1f
}
}
private
var
frame
=
0
private
var
frame
=
0
var
xpos
=
0.0
private
var
xpos
=
0.0
var
ypos
=
0.0
private
var
ypos
=
0.0
private
val
fontCollection
=
FontCollection
()
private
val
fontCollection
=
FontCollection
()
.
setDefaultFontManager
(
FontMgr
.
default
)
.
setDefaultFontManager
(
FontMgr
.
default
)
override
fun
onRender
(
canvas
:
Canvas
,
width
:
Int
,
height
:
Int
,
currentTimestamp
:
Long
)
{
override
fun
onRender
(
canvas
:
Canvas
,
width
:
Int
,
height
:
Int
,
nanoTime
:
Long
)
{
val
watchFill
=
Paint
().
apply
{
color
=
0
xFFFFFFFF
.
toInt
()
}
val
watchFill
=
Paint
().
apply
{
color
=
0
xFFFFFFFF
.
toInt
()
}
val
watchStroke
=
Paint
().
apply
{
val
watchStroke
=
Paint
().
apply
{
color
=
0
xFF000000
.
toInt
()
color
=
0
xFF000000
.
toInt
()
...
@@ -56,7 +56,7 @@ class ClocksJvm(private val layer: SkiaLayer): SkikoView {
...
@@ -56,7 +56,7 @@ class ClocksJvm(private val layer: SkiaLayer): SkikoView {
)
)
angle
+=
(
2.0
*
PI
/
12.0
).
toFloat
()
angle
+=
(
2.0
*
PI
/
12.0
).
toFloat
()
}
}
val
time
=
(
currentTimestamp
/
1
E6
)
%
60000
+
val
time
=
(
nanoTime
/
1
E6
)
%
60000
+
(
x
.
toFloat
()
/
width
*
5000
).
toLong
()
+
(
x
.
toFloat
()
/
width
*
5000
).
toLong
()
+
(
y
.
toFloat
()
/
width
*
5000
).
toLong
()
(
y
.
toFloat
()
/
width
*
5000
).
toLong
()
...
@@ -80,7 +80,7 @@ class ClocksJvm(private val layer: SkiaLayer): SkikoView {
...
@@ -80,7 +80,7 @@ class ClocksJvm(private val layer: SkiaLayer): SkikoView {
val
style
=
ParagraphStyle
()
val
style
=
ParagraphStyle
()
val
renderInfo
=
ParagraphBuilder
(
style
,
fontCollection
)
val
renderInfo
=
ParagraphBuilder
(
style
,
fontCollection
)
.
pushStyle
(
TextStyle
().
setColor
(
0
xFF000000
.
toInt
()))
.
pushStyle
(
TextStyle
().
setColor
(
0
xFF000000
.
toInt
()))
.
addText
(
"Graphics API: ${layer.renderApi} ✿゚ $
{currentSystemTheme}
"
)
.
addText
(
"Graphics API: ${layer.renderApi} ✿゚ $
currentSystemTheme
"
)
.
popStyle
()
.
popStyle
()
.
build
()
.
build
()
renderInfo
.
layout
(
Float
.
POSITIVE_INFINITY
)
renderInfo
.
layout
(
Float
.
POSITIVE_INFINITY
)
...
@@ -108,6 +108,7 @@ class ClocksJvm(private val layer: SkiaLayer): SkikoView {
...
@@ -108,6 +108,7 @@ class ClocksJvm(private val layer: SkiaLayer): SkikoView {
xpos
=
event
.
x
xpos
=
event
.
x
ypos
=
event
.
y
ypos
=
event
.
y
}
}
else
->
{}
}
}
// TODO: provide example that covers all features of pointer event
// TODO: provide example that covers all features of pointer event
}
}
...
...
samples/Skia
JvmSample/src/main/kotlin/SkiaJvm
Sample/PureSwing.kt
→
samples/Skia
AwtSample/src/main/kotlin/SkiaAwt
Sample/PureSwing.kt
View file @
084c17ad
package
Skia
Jvm
Sample
package
Skia
Awt
Sample
import
java.awt.BorderLayout
import
java.awt.BorderLayout
import
javax.swing.JFrame
import
javax.swing.JFrame
...
@@ -9,20 +9,20 @@ fun pureSwing() {
...
@@ -9,20 +9,20 @@ fun pureSwing() {
window
.
defaultCloseOperation
=
WindowConstants
.
DISPOSE_ON_CLOSE
window
.
defaultCloseOperation
=
WindowConstants
.
DISPOSE_ON_CLOSE
window
.
setSize
(
800
,
600
)
window
.
setSize
(
800
,
600
)
window
.
contentPane
.
add
(
Button
(
"Skiko"
).
apply
{
window
.
contentPane
.
add
(
make
Button
(
"Skiko"
).
apply
{
addActionListener
{
addActionListener
{
createWindow
(
"Skiko"
,
false
)
createWindow
(
"Skiko"
,
false
)
}
}
},
BorderLayout
.
NORTH
)
},
BorderLayout
.
NORTH
)
window
.
contentPane
.
add
(
Button
(
"Swing"
).
apply
{
window
.
contentPane
.
add
(
make
Button
(
"Swing"
).
apply
{
addActionListener
{
addActionListener
{
pureSwing
()
pureSwing
()
}
}
},
BorderLayout
.
WEST
)
},
BorderLayout
.
WEST
)
window
.
contentPane
.
add
(
Button
(
"Swing+Skiko"
).
apply
{
window
.
contentPane
.
add
(
make
Button
(
"Swing+Skiko"
).
apply
{
addActionListener
{
addActionListener
{
S
wingSkia
()
s
wingSkia
()
}
}
},
BorderLayout
.
EAST
)
},
BorderLayout
.
EAST
)
window
.
setVisible
(
true
)
window
.
isVisible
=
true
}
}
\ No newline at end of file
samples/Skia
JvmSample/src/main/kotlin/SkiaJvm
Sample/SkiaPanel.kt
→
samples/Skia
AwtSample/src/main/kotlin/SkiaAwt
Sample/SkiaPanel.kt
View file @
084c17ad
package
Skia
Jvm
Sample
package
Skia
Awt
Sample
import
org.jetbrains.skiko.ClipComponent
import
org.jetbrains.skiko.ClipComponent
import
org.jetbrains.skiko.SkiaLayer
import
org.jetbrains.skiko.SkiaLayer
...
...
samples/Skia
JvmSample/src/main/kotlin/SkiaJvm
Sample/SwingSkia.kt
→
samples/Skia
AwtSample/src/main/kotlin/SkiaAwt
Sample/SwingSkia.kt
View file @
084c17ad
package
Skia
Jvm
Sample
package
Skia
Awt
Sample
import
java.awt.BorderLayout
import
java.awt.BorderLayout
import
java.awt.Color
import
java.awt.Color
import
java.awt.Dimension
import
java.awt.Dimension
import
java.awt.event.ActionEvent
import
java.awt.event.ActionListener
import
java.awt.event.ComponentAdapter
import
java.awt.event.ComponentAdapter
import
java.awt.event.ComponentEvent
import
java.awt.event.ComponentEvent
import
java.awt.event.MouseEvent
import
java.awt.event.MouseMotionAdapter
import
javax.swing.*
import
javax.swing.*
import
org.jetbrains.skiko.GenericSkikoView
import
org.jetbrains.skiko.GenericSkikoView
fun
Button
(
fun
make
Button
(
text
:
String
,
text
:
String
,
action
:
(()
->
Unit
)?
=
null
action
:
(()
->
Unit
)?
=
null
):
JButton
{
):
JButton
{
val
button
=
JButton
(
text
)
val
button
=
JButton
(
text
)
button
.
setToolTipText
(
"Tooltip for $text button."
)
button
.
toolTipText
=
"Tooltip for $text button."
button
.
setPreferredSize
(
Dimension
(
100
,
100
))
button
.
preferredSize
=
Dimension
(
100
,
100
)
button
.
addActionListener
(
object
:
ActionListener
{
button
.
addActionListener
{
action
?.
invoke
()
}
public
override
fun
actionPerformed
(
e
:
ActionEvent
)
{
action
?.
invoke
()
}
})
return
button
return
button
}
}
fun
S
wingSkia
()
=
SwingUtilities
.
invokeLater
{
fun
s
wingSkia
()
=
SwingUtilities
.
invokeLater
{
val
window
=
JFrame
()
val
window
=
JFrame
()
window
.
defaultCloseOperation
=
WindowConstants
.
DISPOSE_ON_CLOSE
window
.
defaultCloseOperation
=
WindowConstants
.
DISPOSE_ON_CLOSE
window
.
title
=
"SwingSkiaWindow"
window
.
title
=
"SwingSkiaWindow"
...
@@ -36,7 +28,7 @@ fun SwingSkia() = SwingUtilities.invokeLater {
...
@@ -36,7 +28,7 @@ fun SwingSkia() = SwingUtilities.invokeLater {
var
panel
=
getSkiaPanel
()
var
panel
=
getSkiaPanel
()
window
.
contentPane
.
add
(
window
.
contentPane
.
add
(
Button
(
make
Button
(
text
=
"Fullscreen"
,
text
=
"Fullscreen"
,
action
=
{
action
=
{
panel
.
layer
.
fullscreen
=
!
panel
.
layer
.
fullscreen
panel
.
layer
.
fullscreen
=
!
panel
.
layer
.
fullscreen
...
@@ -45,7 +37,7 @@ fun SwingSkia() = SwingUtilities.invokeLater {
...
@@ -45,7 +37,7 @@ fun SwingSkia() = SwingUtilities.invokeLater {
BorderLayout
.
NORTH
BorderLayout
.
NORTH
)
)
window
.
contentPane
.
add
(
window
.
contentPane
.
add
(
Button
(
make
Button
(
text
=
"Add SP"
,
text
=
"Add SP"
,
action
=
{
action
=
{
window
.
contentPane
.
remove
(
panel
)
window
.
contentPane
.
remove
(
panel
)
...
@@ -57,7 +49,7 @@ fun SwingSkia() = SwingUtilities.invokeLater {
...
@@ -57,7 +49,7 @@ fun SwingSkia() = SwingUtilities.invokeLater {
BorderLayout
.
WEST
BorderLayout
.
WEST
)
)
window
.
contentPane
.
add
(
window
.
contentPane
.
add
(
Button
(
make
Button
(
text
=
"Remove SP"
,
text
=
"Remove SP"
,
action
=
{
action
=
{
window
.
contentPane
.
remove
(
panel
)
window
.
contentPane
.
remove
(
panel
)
...
@@ -66,7 +58,7 @@ fun SwingSkia() = SwingUtilities.invokeLater {
...
@@ -66,7 +58,7 @@ fun SwingSkia() = SwingUtilities.invokeLater {
BorderLayout
.
EAST
BorderLayout
.
EAST
)
)
window
.
contentPane
.
add
(
window
.
contentPane
.
add
(
Button
(
make
Button
(
text
=
"New Window"
,
text
=
"New Window"
,
action
=
{
action
=
{
createWindow
(
"ComposeWindow"
,
false
)
createWindow
(
"ComposeWindow"
,
false
)
...
@@ -77,15 +69,15 @@ fun SwingSkia() = SwingUtilities.invokeLater {
...
@@ -77,15 +69,15 @@ fun SwingSkia() = SwingUtilities.invokeLater {
window
.
contentPane
.
add
(
panel
,
BorderLayout
.
CENTER
)
window
.
contentPane
.
add
(
panel
,
BorderLayout
.
CENTER
)
window
.
setSize
(
800
,
600
)
window
.
setSize
(
800
,
600
)
window
.
setVisible
(
true
)
window
.
isVisible
=
true
}
}
private
fun
getSkiaPanel
():
SkiaPanel
{
private
fun
getSkiaPanel
():
SkiaPanel
{
return
SkiaPanel
().
apply
{
return
SkiaPanel
().
apply
{
layer
.
addView
(
GenericSkikoView
(
layer
,
Clocks
Jvm
(
layer
)))
layer
.
addView
(
GenericSkikoView
(
layer
,
Clocks
Awt
(
layer
)))
val
btnPanelOK
=
JPanel
()
val
btnPanelOK
=
JPanel
()
btnPanelOK
.
setLayout
(
BorderLayout
(
0
,
0
)
)
btnPanelOK
.
layout
=
BorderLayout
(
0
,
0
)
btnPanelOK
.
setBackground
(
Color
.
white
)
btnPanelOK
.
background
=
Color
.
white
btnPanelOK
.
add
(
JButton
(
"OK"
))
btnPanelOK
.
add
(
JButton
(
"OK"
))
val
btnCancel
=
JButton
(
"Cancel"
)
val
btnCancel
=
JButton
(
"Cancel"
)
add
(
btnPanelOK
)
add
(
btnPanelOK
)
...
...
samples/SkiaMultiplatformSample/build.gradle.kts
View file @
084c17ad
...
@@ -74,7 +74,7 @@ kotlin {
...
@@ -74,7 +74,7 @@ kotlin {
targets
.
add
(
iosArm64
())
targets
.
add
(
iosArm64
())
}
}
jvm
{
jvm
(
"awt"
)
{
compilations
.
all
{
compilations
.
all
{
kotlinOptions
.
jvmTarget
=
"11"
kotlinOptions
.
jvmTarget
=
"11"
}
}
...
@@ -112,7 +112,7 @@ kotlin {
...
@@ -112,7 +112,7 @@ kotlin {
dependsOn
(
commonMain
)
dependsOn
(
commonMain
)
}
}
val
jvm
Main
by
getting
{
val
awt
Main
by
getting
{
dependsOn
(
commonMain
)
dependsOn
(
commonMain
)
dependencies
{
dependencies
{
implementation
(
"org.jetbrains.skiko:skiko-awt-runtime-$hostOs-$hostArch:$version"
)
implementation
(
"org.jetbrains.skiko:skiko-awt-runtime-$hostOs-$hostArch:$version"
)
...
@@ -193,8 +193,8 @@ project.tasks.register<Exec>("runNative") {
...
@@ -193,8 +193,8 @@ project.tasks.register<Exec>("runNative") {
}
}
}
}
project
.
tasks
.
register
<
JavaExec
>(
"run
Jvm
"
)
{
project
.
tasks
.
register
<
JavaExec
>(
"run
Awt
"
)
{
val
kotlinTask
=
project
.
tasks
.
named
(
"compileKotlin
Jvm
"
)
val
kotlinTask
=
project
.
tasks
.
named
(
"compileKotlin
Awt
"
)
dependsOn
(
kotlinTask
)
dependsOn
(
kotlinTask
)
systemProperty
(
"skiko.fps.enabled"
,
"true"
)
systemProperty
(
"skiko.fps.enabled"
,
"true"
)
systemProperty
(
"skiko.linux.autodpi"
,
"true"
)
systemProperty
(
"skiko.linux.autodpi"
,
"true"
)
...
@@ -208,9 +208,9 @@ project.tasks.register<JavaExec>("runJvm") {
...
@@ -208,9 +208,9 @@ project.tasks.register<JavaExec>("runJvm") {
}
}
.
filterKeys
{
it
.
startsWith
(
"skiko."
)
}
.
filterKeys
{
it
.
startsWith
(
"skiko."
)
}
.
forEach
{
systemProperty
(
it
.
key
,
it
.
value
)
}
.
forEach
{
systemProperty
(
it
.
key
,
it
.
value
)
}
mainClass
.
set
(
"org.jetbrains.skiko.sample.App_
jvm
Kt"
)
mainClass
.
set
(
"org.jetbrains.skiko.sample.App_
awt
Kt"
)
classpath
(
kotlinTask
.
get
().
outputs
)
classpath
(
kotlinTask
.
get
().
outputs
)
classpath
(
kotlin
.
jvm
().
compilations
[
"main"
].
runtimeDependencyFiles
)
classpath
(
kotlin
.
jvm
(
"awt"
).
compilations
[
"main"
].
runtimeDependencyFiles
)
}
}
tasks
.
withType
<
org
.
jetbrains
.
kotlin
.
gradle
.
dsl
.
KotlinJsCompile
>().
configureEach
{
tasks
.
withType
<
org
.
jetbrains
.
kotlin
.
gradle
.
dsl
.
KotlinJsCompile
>().
configureEach
{
...
...
samples/SkiaMultiplatformSample/src/
jvmMain/kotlin/org/jetbrains/skiko/sample/App.jvm
.kt
→
samples/SkiaMultiplatformSample/src/
awtMain/kotlin/org/jetbrains/skiko/sample/App.awt
.kt
View file @
084c17ad
File moved
settings.gradle
View file @
084c17ad
rootProject
.
name
=
"skiko-all"
rootProject
.
name
=
"skiko-all"
includeBuild
(
"samples/Skia
Jvm
Sample"
)
includeBuild
(
"samples/Skia
Awt
Sample"
)
includeBuild
(
"skiko"
)
includeBuild
(
"skiko"
)
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