jd557 / interim   0.2.0

MIT License GitHub

Immediate mode GUI in pure Scala

Scala versions: 3.x
Scala.js versions: 1.x
Scala Native versions: 0.5 0.4

InterIm

Sonatype Nexus (Releases) scaladoc

InterIm is an Immediate mode GUI library in pure Scala (JVM/JS/Native).

It provides methods to build an interface and return a sequence of simple render operations (render rectangles and render text).

The library does not perform any rendering. The resulting output must be interpreted by a rendering backend. While this might sound like a limitation, it actually allows for an easy integration with other libraries.

To know more about the library and how to get started check the examples.

NOTE: This library is still in heavy development. Expect big breaking changes in future versions.

Features

Example of a color picker

Online Demo

Primitives and Components

  • Rectangles
  • Text
  • Buttons
  • Checkboxes
  • Radio buttons
  • Select boxes
  • Sliders
  • Text input
  • Movable/Closable windows

Layouts

  • Grid based
  • Row based (equally sized or dynamically sized)
  • Column based (equally sized or dynamically sized)

Skins

  • Configurable skins for all components
  • Light and dark mode

Acknowledgments

This project was heavily inspired by Jari Komppa's Immediate Mode GUI tutorial and microui.