Skip to content

Commit 1777db6

Browse files
update ScreenColorDetector and demo
1 parent 5607615 commit 1777db6

File tree

3 files changed

+13
-9
lines changed

3 files changed

+13
-9
lines changed

app/src/main/java/com/smarttoolfactory/composecolorpicker/demo/ColorDetectionFromScreenDemo.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,10 @@ import com.smarttoolfactory.composecolorpicker.R
2222

2323
@Composable
2424
fun ColorDetectionFromScreenDemo() {
25-
// These are for debugging
26-
var text by remember { mutableStateOf("") }
27-
var colorAtTouchPosition by remember { mutableStateOf(Color.Unspecified) }
2825

26+
var colorAtTouchPosition by remember { mutableStateOf(Color.Unspecified) }
2927

28+
var enableColorDetection by remember {mutableStateOf(true)}
3029
Column(
3130
modifier = Modifier
3231
.fillMaxSize()
@@ -48,6 +47,7 @@ fun ColorDetectionFromScreenDemo() {
4847
)
4948

5049
ScreenColorDetector(
50+
enabled = enableColorDetection,
5151
modifier = Modifier.border(2.dp, Color.Cyan).padding(25.dp),
5252
content = {
5353
Column(
@@ -57,7 +57,7 @@ fun ColorDetectionFromScreenDemo() {
5757
Image(
5858
bitmap = ImageBitmap.imageResource(
5959
LocalContext.current.resources,
60-
R.drawable.landscape10
60+
R.drawable.landscape
6161
),
6262
contentDescription = null,
6363
modifier = Modifier
@@ -68,8 +68,8 @@ fun ColorDetectionFromScreenDemo() {
6868
contentScale = ContentScale.Crop
6969
)
7070

71-
Button(onClick = { /*TODO*/ }) {
72-
Text("Sample Button")
71+
Button(onClick = { enableColorDetection=!enableColorDetection }) {
72+
Text(text =if (enableColorDetection) "Disable" else "Enable")
7373
}
7474
}
7575
}

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
buildscript {
22
ext {
3-
compose_version = '1.2.0-alpha08'
3+
compose_version = '1.2.0-alpha07'
44
}
55
}// Top-level build file where you can add configuration options common to all sub-projects/modules.
66
plugins {
77
id 'com.android.application' version '7.1.3' apply false
88
id 'com.android.library' version '7.1.3' apply false
9-
id 'org.jetbrains.kotlin.android' version '1.6.20' apply false
9+
id 'org.jetbrains.kotlin.android' version '1.6.10' apply false
1010
}
1111

1212
task clean(type: Delete) {

colorpicker/src/main/java/com/smarttoolfactory/colorpicker/widget/ScreenColorDetector.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ import androidx.compose.ui.geometry.Offset
1111
import androidx.compose.ui.graphics.Color
1212
import androidx.compose.ui.graphics.ImageBitmap
1313
import androidx.compose.ui.graphics.drawscope.Stroke
14+
import androidx.compose.ui.input.pointer.consumeDownChange
15+
import androidx.compose.ui.input.pointer.consumePositionChange
1416
import androidx.compose.ui.layout.onSizeChanged
1517
import androidx.compose.ui.platform.LocalDensity
1618
import androidx.compose.ui.unit.*
@@ -81,6 +83,7 @@ fun ScreenColorDetector(
8183
bitmap = bitmap
8284
)
8385
onColorChange(color)
86+
pointerInputChange.consumeDownChange()
8487
}
8588
},
8689
onMove = { pointerInputChange ->
@@ -108,6 +111,7 @@ fun ScreenColorDetector(
108111
)
109112

110113
onColorChange(color)
114+
pointerInputChange.consumePositionChange()
111115
}
112116
}
113117
)
@@ -122,7 +126,7 @@ fun ScreenColorDetector(
122126
}
123127

124128
ScreenColorDetectorImpl(
125-
modifier = colorDetectionModifier,
129+
modifier = if(enabled) colorDetectionModifier else Modifier,
126130
offset = offset,
127131
enabled = enabled,
128132
color = color,

0 commit comments

Comments
 (0)