🎨 minor multi-identicon improvements/fixes
This commit is contained in:
parent
1426b786e8
commit
a89f80f400
@ -124,7 +124,7 @@ class MultiIdenticon(input: List<BitmessageAddress>, @ColorInt private val backg
|
|||||||
color = backgroundColor
|
color = backgroundColor
|
||||||
}
|
}
|
||||||
|
|
||||||
private val identicons = input.map { Identicon(it) }.take(4)
|
private val identicons = input.sortedBy { it.isChan }.map { Identicon(it) }.take(4)
|
||||||
|
|
||||||
override fun draw(canvas: Canvas) {
|
override fun draw(canvas: Canvas) {
|
||||||
val width = canvas.width.toFloat()
|
val width = canvas.width.toFloat()
|
||||||
@ -145,17 +145,18 @@ class MultiIdenticon(input: List<BitmessageAddress>, @ColorInt private val backg
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
3 -> {
|
3 -> {
|
||||||
val scale = 1f / (1f + 2f * sqrt(3f))
|
val scale = 2f / (1f + 2f * sqrt(3f))
|
||||||
val w = width * scale
|
val w = width * scale
|
||||||
val h = height * scale
|
val h = height * scale
|
||||||
|
|
||||||
|
canvas.drawCircle(width / 2, height / 2, width / 2, paint)
|
||||||
identicons[0].draw(canvas, (width - w) / 2, 0f, w, h)
|
identicons[0].draw(canvas, (width - w) / 2, 0f, w, h)
|
||||||
identicons[1].draw(canvas, (width - 2 * w) / 2, h * sqrt(3f) / 2, w, h)
|
identicons[1].draw(canvas, (width - 2 * w) / 2, h * sqrt(3f) / 2, w, h)
|
||||||
identicons[2].draw(canvas, width / 2, h * sqrt(3f) / 2, w, h)
|
identicons[2].draw(canvas, width / 2, h * sqrt(3f) / 2, w, h)
|
||||||
}
|
}
|
||||||
4 -> {
|
4 -> {
|
||||||
canvas.drawCircle(width / 2, height / 2, width / 2, paint)
|
canvas.drawCircle(width / 2, height / 2, width / 2, paint)
|
||||||
val scale = 1f / (1f + sqrt(2f))
|
val scale = 2f / (1f + sqrt(2f))
|
||||||
val borderScale = 0.5f - scale
|
val borderScale = 0.5f - scale
|
||||||
val w = width * scale
|
val w = width * scale
|
||||||
val h = height * scale
|
val h = height * scale
|
||||||
|
Loading…
Reference in New Issue
Block a user