blob: a0dc51c8be96898697bf0fe325676ef39c20da01 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
package at.hannibal2.skyhanni.utils.guide
import at.hannibal2.skyhanni.utils.CollectionUtils.tableStretchXPadding
import at.hannibal2.skyhanni.utils.CollectionUtils.tableStretchYPadding
import at.hannibal2.skyhanni.utils.RenderUtils.HorizontalAlignment
import at.hannibal2.skyhanni.utils.renderables.Renderable
abstract class GuideTablePage(
val sizeX: Int,
val sizeY: Int,
paddingX: Int = 0,
paddingY: Int = 0,
val footerSpacing: Int = 2
) : GuideRenderablePage(paddingX, paddingY) {
fun update(
content: List<List<Renderable>>,
footer: List<Renderable> = emptyList()
) {
val ySpace = (content + listOf(footer)).tableStretchYPadding(sizeY - paddingY * 2)
renderable =
Renderable.verticalContainer(
listOf(
Renderable.table(
content,
xPadding = content.tableStretchXPadding(sizeX - paddingX * 2),
yPadding = ySpace
),
Renderable.horizontalContainer(footer, footerSpacing, horizontalAlign = HorizontalAlignment.CENTER)
),
spacing = ySpace
)
}
}
|