Package-level declarations

Types

Link copied to clipboard
enum Arch : Enum<Arch>
Link copied to clipboard
open class ClipboardManager

Manager for controlling system clipboard. Is open so that platform could provide an override if default doesn't fit.

Link copied to clipboard
class ClipComponent(val component: Component) : ClipRectangle
Link copied to clipboard
interface ClipRectangle

Rectangle used for clipping.

Link copied to clipboard
actual typealias Cursor = PointerIcon
actual typealias Cursor = java.awt.Cursor
expect class Cursor

Pointer device cursor abstraction.

actual typealias Cursor = Any
actual typealias Cursor = String
actual typealias Cursor = Any
actual typealias Cursor = <Error class: unknown class>
Link copied to clipboard
open class CursorManager

Manager to control cursor per native component.

Link copied to clipboard
class DefaultConsoleLogger(val isTraceEnabled: Boolean = false, val isDebugEnabled: Boolean = false, val isInfoEnabled: Boolean = true, val isWarnEnabled: Boolean = true, val isErrorEnabled: Boolean = true) : SkikoLoggerInterface
Link copied to clipboard
annotation class DelicateSkikoApi

Marks declarations that are delicate — they have limited use-case and shall be used with care in general code. Any use of a delicate declaration has to be carefully reviewed to make sure it is properly used and does not create problems like concurrency issues, memory and resource leaks. Carefully read documentation of any declaration marked as DelicateSkikoApi.

Link copied to clipboard
annotation class DependsOnJBR

Mark a feature that depends on running on the JetBrains Runtime.

Link copied to clipboard
annotation class ExperimentalSkikoApi

Marks declarations that are experimental and don't have stable API yet.

Link copied to clipboard
class FPSCounter(periodSeconds: Double = 2.0, showLongFrames: Boolean = false, getLongFrameMillis: () -> Double = { 1.5 * 1000 / 60 }, logOnTick: Boolean = false)
Link copied to clipboard
class FrameDispatcher(scope: CoroutineScope, onFrame: suspend () -> Unit)

Dispatch frame after call of scheduleFrame.

Link copied to clipboard
class FrameLimiter(coroutineScope: <Error class: unknown class>, frameMillis: () -> Long, impreciseDelay: suspend (Long) -> Unit = ::delay, currentTime: () -> <Error class: unknown class> = { System.nanoTime().nanoseconds })

Limit the duration of the frames (to avoid high CPU usage) to frameMillis. The actual delay depends on the precision of the system timer (Windows has ~15ms precision by default, Linux/macOs ~2ms). FrameLimiter will try to delay frames as close as possible to frameMillis, but not greater

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
object Library
Link copied to clipboard
Link copied to clipboard
enum OS : Enum<OS>
Link copied to clipboard
data class OSVersion(val major: Int, val minor: Int = 0, val patch: Int = 0) : Comparable<OSVersion>
Link copied to clipboard

Predefined platform cursors.

Link copied to clipboard

Identifiers of predefined cursors.

Link copied to clipboard
expect open class SkiaLayer

Generic layer for Skiko rendering.

actual open class SkiaLayer
actual open class SkiaLayer

Provides a way to render the content and to receive the input events. Rendering and events processing should be implemented in renderDelegate.

actual open class SkiaLayer
actual open class SkiaLayer

SkiaLayer implementation for macOS. Supports only GraphicsApi.METAL

Link copied to clipboard

Analytics that helps to know more about SkiaLayer behaviour. Implementation usually uses third-party solution to send info to some centralized analytics gatherer.

Link copied to clipboard
open class SkiaLayerRenderDelegate(val layer: SkiaLayer, val renderDelegate: SkikoRenderDelegate) : SkikoRenderDelegate
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Global Skiko properties, which are read from system JDK variables orr from environment variables

Link copied to clipboard
Link copied to clipboard
class SkikoSurfaceView(context: Context, val layer: SkiaLayer) : GLSurfaceView, FrameManager
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
interface TextActions
Link copied to clipboard
open class URIManager

Manager for opening external links. Is open so that platform could provide an override if default doesn't fit.

Link copied to clipboard
abstract class WorkaroundSimpleOnGestureListener : GestureDetector.SimpleOnGestureListener
This workaround needs to support both Android SDK 33 (or lower) and SDK 34 (or higher)

Properties

Link copied to clipboard
actual val currentSystemTheme: SystemTheme
actual val currentSystemTheme: SystemTheme
actual val currentSystemTheme: SystemTheme
actual val currentSystemTheme: SystemTheme
Link copied to clipboard
expect val hostArch: Arch
actual val hostArch: Arch
actual val hostArch: Arch
actual val hostArch: Arch
Link copied to clipboard
expect val hostId: String
actual val hostId: String
actual val hostId: String
actual val hostId: String
Link copied to clipboard
expect val hostOs: OS
actual val hostOs: OS
actual val hostOs: OS
actual val hostOs: OS
Link copied to clipboard
val hostOSVersion: OSVersion
Link copied to clipboard
actual val kotlinBackend: KotlinBackend
actual val kotlinBackend: KotlinBackend
Link copied to clipboard
val MainUIDispatcher: CoroutineDispatcher

Dispatcher for UI thread, which is used in the current implementation of native UI integration. Currently, it uses Swing event dispatching thread.

Functions

Link copied to clipboard
fun available(vararg pairs: Pair<OS, OSVersion>): Boolean
Link copied to clipboard
expect fun currentNanoTime(): Long
actual fun currentNanoTime(): Long
actual fun currentNanoTime(): Long
actual fun currentNanoTime(): Long
Link copied to clipboard
fun SkiaLayer.disableTitleBar(customHeaderHeight: Float)

Disable showing window title bar.

Link copied to clipboard
expect suspend fun loadBytesFromPath(path: String): ByteArray
actual suspend fun loadBytesFromPath(path: String): ByteArray
actual suspend fun loadBytesFromPath(path: String): ByteArray
actual suspend fun loadBytesFromPath(path: String): ByteArray
actual suspend fun loadBytesFromPath(path: String): ByteArray
Link copied to clipboard

This method should be called on custom Accessible creation (or its context if context is created lazily).

Link copied to clipboard

Request to show emoji and symbols popup.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard