Skip to content

Commit

Permalink
Updated dividers and icons. Minor code tidy up. (#38)
Browse files Browse the repository at this point in the history
  • Loading branch information
EranBoudjnah committed Mar 11, 2024
1 parent 72297ef commit cafb1f8
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 13 deletions.
4 changes: 2 additions & 2 deletions app/src/main/java/com/mitteloupe/loader/gears/Gears.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import androidx.compose.foundation.layout.width
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.ArrowBack
import androidx.compose.material.icons.automirrored.filled.ArrowBack
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
Expand Down Expand Up @@ -69,7 +69,7 @@ fun Gears(navController: NavHostController) {
navigationIcon = {
IconButton(onClick = { navController.popBackStack() }) {
Icon(
imageVector = Icons.Filled.ArrowBack,
imageVector = Icons.AutoMirrored.Filled.ArrowBack,
contentDescription = "Localized description"
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package com.mitteloupe.loader.jigsaw
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.width
import androidx.compose.material3.Divider
import androidx.compose.material3.HorizontalDivider
import androidx.compose.runtime.Composable
import androidx.compose.runtime.MutableState
import androidx.compose.ui.Alignment
Expand Down Expand Up @@ -54,7 +54,7 @@ fun ControlPanel(
.width(350.dp)
.align(Alignment.CenterHorizontally)
)
Divider()
HorizontalDivider()
MultipleValueSelector(
selectedOption = knobConfiguration,
"Round knob" to JigsawLoaderDefaults.knobConfiguration,
Expand Down
4 changes: 2 additions & 2 deletions app/src/main/java/com/mitteloupe/loader/jigsaw/Jigsaw.kt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import androidx.compose.foundation.layout.width
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.ArrowBack
import androidx.compose.material.icons.automirrored.filled.ArrowBack
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
Expand Down Expand Up @@ -65,7 +65,7 @@ fun Jigsaw(navController: NavHostController) {
navigationIcon = {
IconButton(onClick = { navController.popBackStack() }) {
Icon(
imageVector = Icons.Filled.ArrowBack,
imageVector = Icons.AutoMirrored.Filled.ArrowBack,
contentDescription = "Localized description"
)
}
Expand Down
1 change: 1 addition & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
org.gradle.daemon.idletimeout=180000
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
Expand Down
24 changes: 17 additions & 7 deletions jigsaw/src/main/java/com/mitteloupe/loader/jigsaw/JigsawLoader.kt
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.mitteloupe.loader.jigsaw

import Orientation
import android.graphics.Point
import android.graphics.PointF
import androidx.annotation.FloatRange
Expand Down Expand Up @@ -49,6 +48,7 @@ import com.mitteloupe.loader.jigsaw.BrushProvider.ColorBrushProvider
import com.mitteloupe.loader.jigsaw.PiecePresenceResolver.IndeterminatePiecePresenceResolver
import com.mitteloupe.loader.jigsaw.PiecePresenceResolver.ProgressPiecePresenceResolver
import com.mitteloupe.loader.jigsaw.model.KnobConfiguration
import com.mitteloupe.loader.jigsaw.model.Orientation
import com.mitteloupe.loader.jigsaw.model.ProgressState
import com.mitteloupe.loader.jigsaw.model.ProgressState.Indeterminate
import kotlin.random.Random
Expand All @@ -57,8 +57,8 @@ import kotlin.random.Random
fun JigsawLoader(
modifier: Modifier = Modifier,
progressState: ProgressState = Indeterminate(),
horizontalPieces: Int = JigsawLoaderDefaults.horizontalPieces,
verticalPieces: Int = JigsawLoaderDefaults.verticalPieces,
horizontalPieces: Int = JigsawLoaderDefaults.HORIZONTAL_PIECES,
verticalPieces: Int = JigsawLoaderDefaults.VERTICAL_PIECES,
puzzleBrushProvider: BrushProvider =
ColorBrushProvider(JigsawLoaderDefaults.color),
lightBrush: Brush = SolidColor(Color.White.copy(alpha = .4f)),
Expand Down Expand Up @@ -638,8 +638,15 @@ object JigsawLoaderDefaults {
@Composable
get() = ColorBrushProvider(color)

val horizontalPieces: Int = 12
val verticalPieces: Int = 4
const val HORIZONTAL_PIECES: Int = 12

@Deprecated("Use HORIZONTAL_PIECES instead.")
val horizontalPieces = HORIZONTAL_PIECES

const val VERTICAL_PIECES: Int = 4

@Deprecated("Use VERTICAL_PIECES instead.")
val verticalPieces = VERTICAL_PIECES

val knobInversionEvaluator: (placeX: Int, placeY: Int) -> Boolean = { x, y ->
Random(x + y * 46340).nextBoolean()
Expand All @@ -658,14 +665,17 @@ object JigsawLoaderDefaults {
knobEndDistanceRatio = .16f
)

val indeterminatePiecePresenceThreshold = .15f
const val INDETERMINATE_PIECE_PRESENCE_THRESHOLD = .15f

@Deprecated("Use INDETERMINATE_PIECE_PRESENCE_THRESHOLD instead.")
val indeterminatePiecePresenceThreshold = INDETERMINATE_PIECE_PRESENCE_THRESHOLD

fun piecePresenceResolver(
progressState: ProgressState,
horizontalPieces: Int,
verticalPieces: Int
): PiecePresenceResolver = if (progressState is Indeterminate) {
IndeterminatePiecePresenceResolver(indeterminatePiecePresenceThreshold)
IndeterminatePiecePresenceResolver(INDETERMINATE_PIECE_PRESENCE_THRESHOLD)
} else {
ProgressPiecePresenceResolver(
progressState = progressState,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
package com.mitteloupe.loader.jigsaw.model

import android.graphics.PointF

sealed interface Orientation {
Expand Down

0 comments on commit cafb1f8

Please sign in to comment.