# gs

### MODULE

gs

### MODULE SUMMARY

The Graphics System for Erlang.

### DESCRIPTION

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.

### EXPORTS

`config(GSObj, Options) -> ok`

Types:

`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, Parent, Name, Options) -> ObjId`

Types:

`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`

Types:

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

Creates a hierarchy of graphical objects.

`destroy(GSObj) -> void()`

Types:

`GSObj = gsobj()`

Destroys a graphical object and all its children.

`ObjType(Parent)`
`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`

Types:

`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.

### AUTHORS

Gunilla Hugosson - support@erlang.ericsson.se

gs 1.5.5
Copyright © 1991-2006 Ericsson AB