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 deprecated and will be removed in the 18.0 release.

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.