Unverified Commit beeb6e52 authored by Nikolay Igotti's avatar Nikolay Igotti Committed by GitHub

Fix IM handling. (#94)

parent bed10c51
...@@ -2,6 +2,7 @@ package org.jetbrains.skiko ...@@ -2,6 +2,7 @@ package org.jetbrains.skiko
import java.awt.Canvas import java.awt.Canvas
import java.awt.Graphics import java.awt.Graphics
import java.awt.event.InputMethodEvent
internal open class HardwareLayer : Canvas() { internal open class HardwareLayer : Canvas() {
companion object { companion object {
...@@ -27,6 +28,10 @@ internal open class HardwareLayer : Canvas() { ...@@ -27,6 +28,10 @@ internal open class HardwareLayer : Canvas() {
nativeDispose() nativeDispose()
} }
fun doProcessInputMethodEvent(e: InputMethodEvent?) {
processInputMethodEvent(e)
}
private external fun nativeInit(platformInfo: Long) private external fun nativeInit(platformInfo: Long)
private external fun nativeDispose() private external fun nativeDispose()
......
...@@ -9,13 +9,7 @@ import org.jetbrains.skiko.context.ContextHandler ...@@ -9,13 +9,7 @@ import org.jetbrains.skiko.context.ContextHandler
import org.jetbrains.skiko.context.createContextHandler import org.jetbrains.skiko.context.createContextHandler
import org.jetbrains.skiko.redrawer.Redrawer import org.jetbrains.skiko.redrawer.Redrawer
import java.awt.Graphics import java.awt.Graphics
import java.awt.event.FocusEvent import java.awt.event.*
import java.awt.event.HierarchyEvent
import java.awt.event.InputMethodListener
import java.awt.event.KeyListener
import java.awt.event.MouseListener
import java.awt.event.MouseMotionListener
import java.awt.event.MouseWheelListener
import java.awt.im.InputMethodRequests import java.awt.im.InputMethodRequests
import javax.swing.JPanel import javax.swing.JPanel
import javax.swing.SwingUtilities.isEventDispatchThread import javax.swing.SwingUtilities.isEventDispatchThread
...@@ -163,6 +157,14 @@ open class SkiaLayer( ...@@ -163,6 +157,14 @@ open class SkiaLayer(
backedLayer.enableInputMethods(enable) backedLayer.enableInputMethods(enable)
} }
override fun getInputMethodListeners(): Array<InputMethodListener> {
return backedLayer.getInputMethodListeners()
}
override fun processInputMethodEvent(e: InputMethodEvent?) {
backedLayer.doProcessInputMethodEvent(e)
}
override fun requestFocus() { override fun requestFocus() {
backedLayer.requestFocus() backedLayer.requestFocus()
} }
...@@ -172,6 +174,7 @@ open class SkiaLayer( ...@@ -172,6 +174,7 @@ open class SkiaLayer(
} }
override fun addInputMethodListener(l: InputMethodListener) { override fun addInputMethodListener(l: InputMethodListener) {
super.addInputMethodListener(l)
backedLayer.addInputMethodListener(l) backedLayer.addInputMethodListener(l)
} }
...@@ -192,6 +195,7 @@ open class SkiaLayer( ...@@ -192,6 +195,7 @@ open class SkiaLayer(
} }
override fun removeInputMethodListener(l: InputMethodListener) { override fun removeInputMethodListener(l: InputMethodListener) {
super.removeInputMethodListener(l)
backedLayer.removeInputMethodListener(l) backedLayer.removeInputMethodListener(l)
} }
......
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