Skip to content

Commit ac1b2a6

Browse files
committed
Change modules encoding
See scala/scala3#17930
1 parent ba98bda commit ac1b2a6

File tree

5 files changed

+21
-18
lines changed

5 files changed

+21
-18
lines changed

core/src/main/scala/eu/joaocosta/interim/InterIm.scala

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package eu.joaocosta.interim
22

33
import eu.joaocosta.interim.TextLayout.*
44

5-
object InterIm:
5+
object InterIm extends api.Primitives with api.Layouts with api.Components with api.Constants:
66
def window[T](inputState: InputState, uiState: UiState)(
77
run: (inputState: InputState, uiState: UiState) ?=> T
88
): (List[RenderOp], T) =
@@ -17,8 +17,3 @@ object InterIm:
1717
if (!inputState.mouseDown) uiState.activeItem = None
1818
// return
1919
(uiState.ops.toList, res)
20-
21-
export api.Primitives.*
22-
export api.Layouts.*
23-
export api.Components.*
24-
export api.Constants.*

core/src/main/scala/eu/joaocosta/interim/api/Components.scala

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@ package eu.joaocosta.interim.api
33
import eu.joaocosta.interim.*
44
import eu.joaocosta.interim.skins.*
55

6-
object Components:
6+
object Components extends Components
7+
8+
trait Components:
79

810
type Component[+T] = (inputState: InputState, uiState: UiState) ?=> T
911

10-
def button(
12+
final def button(
1113
id: ItemId,
1214
area: Rect,
1315
label: String = "",
@@ -19,7 +21,7 @@ object Components:
1921
skin.renderButton(area, label, fontSize, itemStatus)
2022
itemStatus.hot && itemStatus.active && summon[InputState].mouseDown == false
2123

22-
def checkbox(id: ItemId, area: Rect, skin: CheckboxSkin = CheckboxSkin.Default())(
24+
final def checkbox(id: ItemId, area: Rect, skin: CheckboxSkin = CheckboxSkin.Default())(
2325
value: Boolean
2426
): Component[Boolean] =
2527
val checkboxArea = skin.checkboxArea(area)
@@ -28,7 +30,7 @@ object Components:
2830
if (itemStatus.hot && itemStatus.active && summon[InputState].mouseDown == false) !value
2931
else value
3032

31-
def slider(id: ItemId, area: Rect, skin: SliderSkin = SliderSkin.Default())(
33+
final def slider(id: ItemId, area: Rect, skin: SliderSkin = SliderSkin.Default())(
3234
min: Int,
3335
value: Int,
3436
max: Int

core/src/main/scala/eu/joaocosta/interim/api/Constants.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ package eu.joaocosta.interim.api
22

33
import eu.joaocosta.interim.TextLayout.{HorizontalAlignment, VerticalAlignment}
44

5-
object Constants:
5+
object Constants extends Constants
6+
7+
trait Constants:
68
final val alignLeft = HorizontalAlignment.Left
79
final val centerHorizontally = HorizontalAlignment.Center
810
final val alignRight = HorizontalAlignment.Right

core/src/main/scala/eu/joaocosta/interim/api/Layouts.scala

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,21 @@ package eu.joaocosta.interim.api
22

33
import eu.joaocosta.interim.Rect
44

5-
object Layouts:
6-
def grid[T](area: Rect, numRows: Int, numColumns: Int, padding: Int)(body: Vector[Vector[Rect]] => T): T =
5+
object Layouts extends Layouts
6+
7+
trait Layouts:
8+
final def grid[T](area: Rect, numRows: Int, numColumns: Int, padding: Int)(body: Vector[Vector[Rect]] => T): T =
79
body(rows(area, numRows, padding)(_.map(subArea => columns(subArea, numColumns, padding)(identity))))
810

9-
def rows[T](area: Rect, numRows: Int, padding: Int)(body: Vector[Rect] => T): T =
11+
final def rows[T](area: Rect, numRows: Int, padding: Int)(body: Vector[Rect] => T): T =
1012
val rowSize = (area.h - (numRows - 1) * padding) / numRows
1113
val vec = for
1214
row <- (0 until numRows)
1315
dy = row * (rowSize + padding)
1416
yield Rect(area.x, area.y + dy, area.w, rowSize)
1517
body(vec.toVector)
1618

17-
def columns[T](area: Rect, numColumns: Int, padding: Int)(body: Vector[Rect] => T): T =
19+
final def columns[T](area: Rect, numColumns: Int, padding: Int)(body: Vector[Rect] => T): T =
1820
val columnSize = (area.w - (numColumns - 1) * padding) / numColumns
1921
val vec = for
2022
column <- (0 until numColumns)

core/src/main/scala/eu/joaocosta/interim/api/Primitives.scala

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@ package eu.joaocosta.interim.api
33
import eu.joaocosta.interim.TextLayout.{HorizontalAlignment, VerticalAlignment}
44
import eu.joaocosta.interim.{Color, Rect, RenderOp, UiState}
55

6-
object Primitives:
7-
def rectangle(area: Rect, color: Color)(implicit uiState: UiState): Unit =
6+
object Primitives extends Primitives
7+
8+
trait Primitives:
9+
final def rectangle(area: Rect, color: Color)(implicit uiState: UiState): Unit =
810
uiState.ops.addOne(RenderOp.DrawRect(area, color))
911

10-
def text(
12+
final def text(
1113
area: Rect,
1214
text: String,
1315
fontSize: Int,

0 commit comments

Comments
 (0)