Landry Norris
03/23/2023, 6:45 PMLandry Norris
03/23/2023, 6:46 PMprivate fun DrawScope.textLayoutConstraints(
size: Size,
topLeft: Offset
): Constraints {
val minWidth: Int
val maxWidth: Int
val isWidthNaN = size.isUnspecified || size.width.isNaN()
if (isWidthNaN) {
minWidth = 0
maxWidth = ceil(this.size.width - topLeft.x).roundToInt()
} else {
val fixedWidth = ceil(size.width).roundToInt()
minWidth = fixedWidth
maxWidth = fixedWidth
}
val minHeight: Int
val maxHeight: Int
val isHeightNaN = size.isUnspecified || size.height.isNaN()
if (isHeightNaN) {
minHeight = 0
maxHeight = ceil(this.size.height - topLeft.y).roundToInt()
} else {
val fixedHeight = ceil(size.height).roundToInt()
minHeight = fixedHeight
maxHeight = fixedHeight
}
return Constraints(minWidth, maxWidth, minHeight, maxHeight)
}
Landry Norris
03/23/2023, 6:47 PMrequire(maxWidth >= minWidth) {
"maxWidth($maxWidth) must be >= than minWidth($minWidth)"
}
Landry Norris
03/23/2023, 6:55 PMLandry Norris
03/23/2023, 6:59 PMjw
03/23/2023, 7:20 PMjw
03/23/2023, 7:20 PMjw
03/23/2023, 7:21 PM