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

commonMain.org.jraf.klibnotion.model.richtext.Annotations.kt Maven / Gradle / Ivy

There is a newer version: 1.12.0
Show newest version
/*
 * This source is part of the
 *      _____  ___   ____
 *  __ / / _ \/ _ | / __/___  _______ _
 * / // / , _/ __ |/ _/_/ _ \/ __/ _ `/
 * \___/_/|_/_/ |_/_/ (_)___/_/  \_, /
 *                              /___/
 * repository.
 *
 * Copyright (C) 2021-present Benoit 'BoD' Lubek ([email protected])
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.jraf.klibnotion.model.richtext

import org.jraf.klibnotion.model.color.Color
import kotlin.jvm.JvmField

/**
 * See [https://www.notion.so/768be31f7e404aa1aa8642954dc58ef0?v=16ac63885e0d46f5ab3ba81eaefa042e].
 */
data class Annotations(
    val bold: Boolean = false,
    val italic: Boolean = false,
    val strikethrough: Boolean = false,
    val underline: Boolean = false,
    val code: Boolean = false,
    val color: Color = Color.DEFAULT,
) {
    constructor(color: Color) : this(false, false, false, false, false, color)

    companion object {
        @JvmField
        val DEFAULT: Annotations = Annotations()

        @JvmField
        val BOLD: Annotations = Annotations(bold = true)

        @JvmField
        val ITALIC: Annotations = Annotations(italic = true)

        @JvmField
        val STRIKETHROUGH: Annotations = Annotations(strikethrough = true)

        @JvmField
        val UNDERLINE: Annotations = Annotations(underline = true)

        @JvmField
        val CODE: Annotations = Annotations(code = true)
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy