Packages

  • package root
    Definition Classes
    root
  • package hevs
    Definition Classes
    root
  • package graphics

    A library used for teaching computer science in the ISC degree programme, notably for the course _101.1 Imperative programming_.

    A library used for teaching computer science in the ISC degree programme, notably for the course _101.1 Imperative programming_.

    The library provides classes for simple graphical drawing, with primitives such as points and lines drawing, simple text with different fonts, ... Input primitives are also available using keyboard or mouse. Several examples are also provided.

    Overview

    Here is how to create a window and draw a circle on it using FunGraphics :

    val f = new FunGraphics(400, 300)
    f.drawCircle(200,150, 50)
    Definition Classes
    hevs
  • package utils
    Definition Classes
    graphics
  • DisplaySetup
  • GraphicTimer
  • GraphicsBitmap
  • RepeatingReleasedEventsFixer
o

hevs.graphics.utils

DisplaySetup

object DisplaySetup

Checks that a graphical display can be reached before the first window is created and explains what to do when it cannot.

On Linux, the standard JDK only talks to X11. On a Wayland desktop (Fedora, Ubuntu, ...) that works through Xwayland, except when the program runs in a sandbox that was not given X11 access. The typical case is IntelliJ IDEA installed as a Flatpak: the IDE itself runs natively on Wayland, but the student's program then fails with java.awt.AWTError: Can't connect to X11 window server.

Two things are done here:

  • if the JDK ships a Wayland toolkit (the JetBrains Runtime does) and X11 is clearly unavailable, that toolkit is selected so that the program works anyway;
  • if opening the display fails, a diagnosis with the probable cause and the fix is printed on the standard error output before the error is rethrown.
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DisplaySetup
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  13. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  14. def openingDisplay[A](op: => A): A

    Runs op, which is expected to be the first call that opens the display.

    Runs op, which is expected to be the first call that opens the display. When it fails because no display can be reached, prints a diagnosis and rethrows.

    A

    the result type of op

    op

    the code opening the display

    returns

    the result of op

  15. def prepare(): Unit

    Must be called before any AWT or Swing class is touched.

    Must be called before any AWT or Swing class is touched. Selects the Wayland toolkit when X11 cannot be used and the running JDK has one. Safe to call several times.

  16. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  20. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from AnyRef

Inherited from Any

Ungrouped