The Graphics System for Erlang.



GS is not recommended for use in new applications. Instead we recommend WX for applications that need a graphical user interface.

GS is not maintained and we plan to deprecate and remove it from the distribution as soon as possible, maybe already in the next major release (R15).

The Graphics System, GS, is easy to learn and designed to be portable to many different platforms.

In the description below, the type gsobj() denotes a reference to a graphical object created with GS. Such a reference is either a GS object identifier or the name of the object (an atom), if such a name exists. The functions all return the specified values or {error,Reason} if an error occurs.

Please refer to the GS User's Guide for a description of the different object types and possible options.


config(GSObj, Options) -> ok


GSOBj = gsobj()
Options = [Option] | Option
 Option = {Key,Value}

Configures a graphical object according to the specified options.

create(ObjType, Parent) -> ObjId
create(ObjType, Parent, Options) -> ObjId
create(ObjType, Name, Parent, Options) -> ObjId


ObjType = atom()
Parent = gsobj()
Name = atom()
Options = [Option] | Option
 Option = {Key,Value}

Creates a new graphical object of the specified type as a child to the specified parent object. The object is configured according to the options and its identifier is returned. If no options are provided, default option values are used.

If a name is provided, this name can be used to reference the object instead of the object identifier. The name is local to the process which creates the object.

The following object types exist: window | button | radiobutton | checkbutton | label | frame | entry | listbox | canvas | arc | image | line | oval | polygon | rectangle | text | menubar | menubutton | menu | menuitem | grid | gridline | editor | scale

create_tree(Parent, Tree) -> ok


Parent = gsobj()
Tree = [Object]
 Object = {ObjType,Options} | {ObjType,Options,Tree} | {ObjType,Name,Options,Tree}

Creates a hierarchy of graphical objects.

destroy(GSObj) -> void()


GSObj = gsobj()

Destroys a graphical object and all its children.

ObjType(Parent, Options)
ObjType(Name, Parent, Options)

These functions are shorthand equivalents of create/2, create/3, and create/4, respectively.

read(GSObj, Key) -> Value


GSObj = gsobj()
Key = atom()
Value = term()

Returns the value of an option key for the specified graphical object.

start() -> ObjId

Starts GS, unless it is already started, and returns its object identifier.

stop() -> void()

Stops GS and closes all windows. This function is not the opposite of start/0 as it will cause all applications to lose their GS objects.