All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.org.jetbrains.skia.IRange.kt Maven / Gradle / Ivy

There is a newer version: 0.6.7
Show newest version
package org.jetbrains.skia

import org.jetbrains.skia.impl.InteropPointer
import org.jetbrains.skia.impl.InteropScope
import org.jetbrains.skia.impl.withResult

class IRange(val start: Int, val end: Int) {
    override fun equals(other: Any?): Boolean {
        if (other === this) return true
        if (other !is IRange) return false
        if (start != other.start) return false
        return end == other.end
    }

    override fun hashCode(): Int {
        val PRIME = 59
        var result = 1
        result = result * PRIME + start
        result = result * PRIME + end
        return result
    }

    override fun toString(): String {
        return "IRange(_start=$start, _end=$end)"
    }

    companion object {}
}

internal fun IRange.Companion.fromInteropPointer(block: InteropScope.(InteropPointer) -> Unit): IRange {
    val result = withResult(IntArray(2), block)
    return IRange(result[0], result[1])
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy