Skip to content

Commit

Permalink
Fix min constraints
Browse files Browse the repository at this point in the history
  • Loading branch information
zhelenskiy committed Apr 7, 2024
1 parent e711b62 commit b5f61e9
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@ public val defaultLineNumberModifier: Modifier = Modifier.padding(start = 4.dp,

@Composable
@PublishedApi
internal fun Wrapper(content: @Composable (@Composable () -> Unit) -> Unit, inner: @Composable () -> Unit) {
internal fun <T> T.Wrapper(content: @Composable T.(@Composable T.() -> Unit) -> Unit, inner: @Composable T.() -> Unit) {
var called = false
content {
require(!called) { "Cannot call inner more than once!" }
Expand All @@ -289,8 +289,8 @@ public fun <T : Token> BasicSourceCodeTextField(
onStateUpdate: (new: BasicSourceCodeTextFieldState<T>) -> Unit,
preprocessors: List<Preprocessor> = emptyList(),
tokenize: Tokenizer<T>,
additionalInnerComposable: @Composable (BoxWithConstraintsScope.(textLayoutResult: TextLayoutResult?, inner: @Composable () -> Unit) -> Unit) = { _, _ -> },
additionalOuterComposable: @Composable (BoxWithConstraintsScope.(textLayoutResult: TextLayoutResult?, inner: @Composable () -> Unit) -> Unit) = { _, _ -> },
additionalInnerComposable: @Composable (BoxWithConstraintsScope.(textLayoutResult: TextLayoutResult?, inner: @Composable BoxWithConstraintsScope.() -> Unit) -> Unit) = { _, _ -> },
additionalOuterComposable: @Composable (BoxWithConstraintsScope.(textLayoutResult: TextLayoutResult?, inner: @Composable BoxWithConstraintsScope.() -> Unit) -> Unit) = { _, _ -> },
textStyle: TextStyle = TextStyle.Default.copy(fontFamily = FontFamily.Monospace),
cursorBrush: Brush = SolidColor(Color.Black),
showLineNumbers: Boolean = true,
Expand Down Expand Up @@ -318,13 +318,17 @@ public fun <T : Token> BasicSourceCodeTextField(

val innerTopPadding = innerPadding.calculateTopPadding()
val innerBottomPadding = innerPadding.calculateBottomPadding()
val innerStartPadding = innerPadding.calculateStartPadding(LocalLayoutDirection.current)
val innerEndPadding = innerPadding.calculateEndPadding(LocalLayoutDirection.current)
BoxWithConstraints(modifier) {
val editorOuterHeight = maxHeight - innerBottomPadding - innerTopPadding
val editorOuterMinHeight = minHeight - innerBottomPadding - innerTopPadding
val editorOuterMinWidth = maxWidth - innerEndPadding - innerStartPadding
val editorOuterHeightPx = with(LocalDensity.current) { editorOuterHeight.toPx() }

Wrapper(
content = { innerComposable ->
Box(Modifier.size(editorOuterMinWidth, editorOuterMinHeight))
additionalOuterComposable(textLayout, innerComposable)
}
) {
Expand Down
2 changes: 1 addition & 1 deletion editor/src/commonMain/kotlin/editor/basic/Decorators.kt
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ public inline fun <reified Bracket : ScopeChangingToken, T : Token> BoxWithConst
crossinline stickyHeaderLinesChooser: (Bracket) -> IntRange? = { bracket -> state.tokenLines[bracket as T] },
crossinline onClick: (lineNumber: Int) -> Unit = {},
crossinline onHoveredSourceCodePositionChange: (position: SourceCodePosition) -> Unit = {},
crossinline additionalInnerComposable: @Composable BoxWithConstraintsScope.(linesToWrite: Map<Int, AnnotatedString>, inner: @Composable () -> Unit) -> Unit = { _, _ -> },
crossinline additionalInnerComposable: @Composable BoxWithConstraintsScope.(linesToWrite: Map<Int, AnnotatedString>, inner: @Composable BoxWithConstraintsScope.() -> Unit) -> Unit = { _, _ -> },
) {
val measuredText = measureText(textStyle)
val textHeightDp = with(LocalDensity.current) { measuredText.height.toDp() }
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ development=true

#Publication
group=com.zhelenskiy
version=0.0.8
version=0.0.10

0 comments on commit b5f61e9

Please sign in to comment.