Commit 2faf120c authored by Roman Sedaikin's avatar Roman Sedaikin

Fixed flickering on Mac OS when using Canvas.saveLayer().

parent 0cf199f8
......@@ -39,10 +39,16 @@ fun createWindow(title: String) {
// Create menu.
val menuBar = JMenuBar()
try {
System.setProperty("apple.laf.useScreenMenuBar", "true")
java.awt.Desktop.getDesktop().setDefaultMenuBar(menuBar)
} catch (e: UnsupportedOperationException) {
// Not all platforms allow this.
}
val menu = JMenu("File")
menuBar.add(menu)
val menuItem = JMenuItem("Say Hello")
val ctrlJ = KeyStroke.getKeyStroke(KeyEvent.VK_J, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())
val ctrlJ = KeyStroke.getKeyStroke(KeyEvent.VK_J, Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx())
menuItem.setAccelerator(ctrlJ)
menuItem.addActionListener(object : ActionListener {
override fun actionPerformed(actionEvent: ActionEvent?) {
......@@ -52,11 +58,7 @@ fun createWindow(title: String) {
menu.add(menuItem)
window.setJMenuBar(menuBar)
try {
java.awt.Desktop.getDesktop().setDefaultMenuBar(menuBar)
} catch (e: UnsupportedOperationException) {
// Not all platforms allow this.
}
val state = State()
state.text = title
......
......@@ -51,12 +51,11 @@ open class SkiaLayer : HardwareLayer() {
if (skijaState.context == null) {
skijaState.context = Context.makeGL()
}
initSkija()
renderer?.onInit()
inited = true
renderer?.onReshape(width, height)
}
initSkija()
skijaState.apply {
canvas!!.clear(-1)
renderer?.onRender(canvas!!, width, height)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment