Skip to content

Commit 0652ac2

Browse files
committed
image: raw transparent gaps
1 parent 7da1fe4 commit 0652ac2

3 files changed

Lines changed: 6 additions & 36 deletions

File tree

app/src/main/java/org/oxycblt/auxio/image/coil/GalleryComposeFetcher.kt

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import android.content.Context
2222
import android.graphics.Bitmap
2323
import android.graphics.BitmapFactory
2424
import android.graphics.Canvas
25-
import android.graphics.Color
2625
import android.graphics.Paint
2726
import android.graphics.Path
2827
import android.graphics.PorterDuff
@@ -56,8 +55,6 @@ import kotlinx.coroutines.withContext
5655
import okio.FileSystem
5756
import okio.buffer
5857
import okio.source
59-
import org.oxycblt.auxio.R
60-
import org.oxycblt.auxio.util.getColorCompat
6158
import org.oxycblt.musikr.covers.CoverCollection
6259

6360
data class GalleryCoverCollection(
@@ -109,7 +106,6 @@ private constructor(
109106
outputSizePx = outputSize,
110107
gapWidthPx = outputSize * ComposeCoverDefaults.GAP_RATIO,
111108
cornerRadiusPx = cornerRadiusPx,
112-
backgroundColor = context.getColorCompat(R.color.sel_cover_bg).defaultColor,
113109
zOrder = data.zOrder.validatedZOrder(),
114110
),
115111
)
@@ -132,7 +128,6 @@ private constructor(
132128
val outputSizePx: Int,
133129
val gapWidthPx: Float,
134130
val cornerRadiusPx: Float,
135-
val backgroundColor: Int = Color.parseColor("#0f111a"),
136131
val zOrder: List<Int> = listOf(0, 1, 2, 3),
137132
)
138133

@@ -144,13 +139,6 @@ private constructor(
144139
val result = createBitmap(config.outputSizePx, config.outputSizePx)
145140
val canvas = Canvas(result)
146141

147-
canvas.drawColor(config.backgroundColor)
148-
149-
val gapPaint =
150-
Paint(Paint.ANTI_ALIAS_FLAG).apply {
151-
color = config.backgroundColor
152-
style = Paint.Style.FILL
153-
}
154142
val imagePaint = Paint(Paint.ANTI_ALIAS_FLAG)
155143

156144
val totalSize = config.outputSizePx.toFloat()
@@ -265,8 +253,6 @@ private constructor(
265253
continue
266254
}
267255

268-
canvas.drawPath(visiblePath, gapPaint)
269-
270256
if (tile.innerRect.width() > 0 && tile.innerRect.height() > 0) {
271257
val clipSave = canvas.save()
272258
canvas.clipPath(visiblePath)

app/src/main/java/org/oxycblt/auxio/image/coil/SmatteringComposeFetcher.kt

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ import android.graphics.Rect
3030
import android.graphics.RectF
3131
import androidx.core.graphics.createBitmap
3232
import androidx.core.graphics.drawable.toDrawable
33-
import androidx.core.graphics.toColorInt
3433
import androidx.core.graphics.withRotation
3534
import coil3.ImageLoader
3635
import coil3.asImage
@@ -57,8 +56,6 @@ import kotlinx.coroutines.withContext
5756
import okio.FileSystem
5857
import okio.buffer
5958
import okio.source
60-
import org.oxycblt.auxio.R
61-
import org.oxycblt.auxio.util.getColorCompat
6259
import org.oxycblt.musikr.covers.CoverCollection
6360

6461
private const val OUTSET_PERCENT = 0.08f
@@ -116,7 +113,6 @@ private constructor(
116113
cornerRadiusPx = cornerRadiusPx,
117114
fanAngleDeg = data.fanAngleDeg,
118115
tiltAngleDeg = data.tiltAngleDeg,
119-
backgroundColor = context.getColorCompat(R.color.sel_cover_bg).defaultColor,
120116
zOrder = data.zOrder.validatedZOrder(),
121117
),
122118
)
@@ -141,7 +137,6 @@ private constructor(
141137
val cornerRadiusPx: Float,
142138
val fanAngleDeg: Float,
143139
val tiltAngleDeg: Float,
144-
val backgroundColor: Int = "#0f111a".toColorInt(),
145140
val zOrder: List<Int> = listOf(0, 1, 2, 3),
146141
)
147142

@@ -153,12 +148,9 @@ private constructor(
153148
val result = createBitmap(config.outputSizePx, config.outputSizePx)
154149
val canvas = Canvas(result)
155150

156-
canvas.drawColor(config.backgroundColor)
157-
158-
val gapPaint =
151+
val clearPaint =
159152
Paint(Paint.ANTI_ALIAS_FLAG).apply {
160-
color = config.backgroundColor
161-
style = Paint.Style.FILL
153+
xfermode = PorterDuffXfermode(PorterDuff.Mode.CLEAR)
162154
}
163155
val imagePaint = Paint(Paint.ANTI_ALIAS_FLAG)
164156

@@ -250,7 +242,7 @@ private constructor(
250242
}
251243

252244
canvas.withRotation(rotation, centerX, centerY) {
253-
drawPath(gapPath, gapPaint)
245+
drawPath(gapPath, clearPaint)
254246

255247
if (innerRect.width() > 0 && innerRect.height() > 0) {
256248
val savedLayer = saveLayer(innerRect, null)

app/src/main/java/org/oxycblt/auxio/image/coil/StackComposeFetcher.kt

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ import android.graphics.Rect
3030
import android.graphics.RectF
3131
import androidx.core.graphics.createBitmap
3232
import androidx.core.graphics.drawable.toDrawable
33-
import androidx.core.graphics.toColorInt
3433
import coil3.ImageLoader
3534
import coil3.asImage
3635
import coil3.decode.DataSource
@@ -56,8 +55,6 @@ import kotlinx.coroutines.withContext
5655
import okio.FileSystem
5756
import okio.buffer
5857
import okio.source
59-
import org.oxycblt.auxio.R
60-
import org.oxycblt.auxio.util.getColorCompat
6158
import org.oxycblt.musikr.covers.CoverCollection
6259

6360
data class StackCoverCollection(
@@ -109,7 +106,6 @@ private constructor(
109106
outputSizePx = outputSize,
110107
gapWidthPx = outputSize * ComposeCoverDefaults.GAP_RATIO,
111108
cornerRadiusPx = cornerRadiusPx,
112-
backgroundColor = context.getColorCompat(R.color.sel_cover_bg).defaultColor,
113109
zOrder = data.zOrder.validatedZOrder(),
114110
),
115111
)
@@ -132,7 +128,6 @@ private constructor(
132128
val outputSizePx: Int,
133129
val gapWidthPx: Float,
134130
val cornerRadiusPx: Float,
135-
val backgroundColor: Int = "#0f111a".toColorInt(),
136131
val zOrder: List<Int> = listOf(0, 1, 2, 3),
137132
)
138133

@@ -144,12 +139,9 @@ private constructor(
144139
val result = createBitmap(config.outputSizePx, config.outputSizePx)
145140
val canvas = Canvas(result)
146141

147-
canvas.drawColor(config.backgroundColor)
148-
149-
val gapPaint =
142+
val clearPaint =
150143
Paint(Paint.ANTI_ALIAS_FLAG).apply {
151-
color = config.backgroundColor
152-
style = Paint.Style.FILL
144+
xfermode = PorterDuffXfermode(PorterDuff.Mode.CLEAR)
153145
}
154146
val imagePaint = Paint(Paint.ANTI_ALIAS_FLAG)
155147

@@ -231,7 +223,7 @@ private constructor(
231223
Path.Direction.CW,
232224
)
233225
}
234-
canvas.drawPath(gapPath, gapPaint)
226+
canvas.drawPath(gapPath, clearPaint)
235227
}
236228

237229
if (innerRect.width() > 0 && innerRect.height() > 0) {

0 commit comments

Comments
 (0)