Dormouse ('Doryen' + 'Mouse', groan) is a windowing `graphical' user interface built on top of libtcod. The programmer creates Window objects which are displayed on the root console. The mouse can be used to move, resize, and close windows. Keyboard and mouse events are sent to whichever window object has the focus.

Like libtcod, dormouse is designed with a view towards making it quicker and easier for hobbyists to write roguelike games. It can be used to write any application that uses libtcod and requires higher-level 'GUI' features.


Source code:

Author: Paul Sexton

Minimal "hello world" application:

(in-package :cl-user) (defpackage :my-new-package (:use :cl :tcod :dormouse) (:export #:my-test)) (in-package :my-new-package) (defun my-test () (let ((msgwin nil)) (dormouse:start-gui :title "Testing") (setf msgwin (make-instance '<Log-Window> :tlx 30 :tly 10 :width 20 :height 6 :title "log" :foreground :cornsilk :background :dark-blue)) (add-message msgwin "Press control-F1 or control-Esc to quit") (main-gui-loop)))