Skip to content
/ ezd Public

Port / reimplementation of the EZD graphics server by Joel F. Bartlett.

Notifications You must be signed in to change notification settings

kdltr/ezd

Repository files navigation

Introduction

This repository contains a port of the EasyDraw graphics server, written by Joel Bartlett in the 90's, to CHICKEN Scheme.

It contains two CHICKEN Scheme modules, ezd and ezd-external as well as a standalone graphics server executable: ezd.

The ezd module is the main piece of this project, it defines all the basic ezd commands as well as the ezd procedure to run them. It also exposes the read-eval-draw procedure which starts up an interactive drawing prompt.

The ezd executable is just a regular program that runs the read-eval-draw loop when started.

Finally, the ezd-external module is just a simple helper module that exposes the ezd and read-event procedures to interact with an automatically started external ezd process.

Installation

To compile and install everything, simply run chicken-install in the repository’s directory.

Examples

You can find a few examples on how to use this program in the examples/ directory.

The clock example has three versions:

  • clock.scm that uses the ezd module directly.
  • clock-external.scm that uses the ezd-external module to communicate to an external ezd process.
  • clock-c.c, a C version of the clock-external program, to show that ezd is not strictly tied to Scheme, but can in fact be used from any language.

Bugs

There are a number of differencies between Scheme->C (the original Scheme implementation EZD was running on) and CHICKEN Scheme, so bugs might be lurking around.

Some bugs I already know about:

  • window redrawing doesn’t seem to occur correctly, sometimes the window stays blank until the next focus change.
  • the textdrawing module doesn’t accept utf-8 characters outside of ASCII, and behaves strangely with new lines and backspace.

If you find some, send them my way by email to kooda@upyum.com.

See also

Here you can find the original report about this software: Don’t Fidget with Widgets, Draw!.

Have fun!

About

Port / reimplementation of the EZD graphics server by Joel F. Bartlett.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages