Dantotsu/app/src/main/java/ani/dantotsu/settings/CurrentReaderSettings.kt
2023-10-17 18:42:43 -05:00

63 lines
1.7 KiB
Kotlin

package ani.dantotsu.settings
import java.io.Serializable
data class CurrentReaderSettings(
var direction: Directions = Directions.TOP_TO_BOTTOM,
var layout: Layouts = Layouts.CONTINUOUS,
var dualPageMode: DualPageModes = DualPageModes.Automatic,
var overScrollMode: Boolean = true,
var trueColors: Boolean = false,
var rotation: Boolean = true,
var padding: Boolean = true,
var hidePageNumbers: Boolean = false,
var horizontalScrollBar: Boolean = true,
var keepScreenOn: Boolean = false,
var volumeButtons: Boolean = false,
var wrapImages: Boolean = false,
var longClickImage: Boolean = true,
var cropBorders: Boolean = false,
var cropBorderThreshold: Int = 10,
) : Serializable {
enum class Directions {
TOP_TO_BOTTOM,
RIGHT_TO_LEFT,
BOTTOM_TO_TOP,
LEFT_TO_RIGHT;
companion object {
operator fun get(value: Int) = values().firstOrNull { it.ordinal == value }
}
}
enum class Layouts {
PAGED,
CONTINUOUS_PAGED,
CONTINUOUS;
companion object {
operator fun get(value: Int) = values().firstOrNull { it.ordinal == value }
}
}
enum class DualPageModes {
No, Automatic, Force;
companion object {
operator fun get(value: Int) = values().firstOrNull { it.ordinal == value }
}
}
companion object {
fun applyWebtoon(settings: CurrentReaderSettings) {
settings.apply {
layout = Layouts.CONTINUOUS
direction = Directions.TOP_TO_BOTTOM
dualPageMode = DualPageModes.No
padding = false
}
}
}
}