Gambas Documentation - /comp

/comp

# Components

Gambas components are shared libraries written in C, C++ or directly in gambas that add new classes to the gambas interpreter.

They are shared between all Gambas programs running on your system, and can be seen as part of the language.

## Index of Components

### Interpreter enhancements

Component | Description | Gambas version
--- | --- | ---
gb | Internal native classes |
gb.args | Program arguments parser | 3.4
gb.data | More container datatypes | 3.3
gb.debug | Debugger helper |
gb.eval | Expression evaluator |
gb.inotify | Filesystem events monitoring | 3.6
gb.logging | Flexible log message handling | 3.5
gb.ncurses | NCurses library | 3.2
gb.option | GNU-style command-line arguments parser | Deprecated
gb.pcre | Perl Compatible Regular Expression matching |
gb.settings | Application settings management |
gb.signal | POSIX signals management |
gb.util | Miscellaneous utility functions | 3.7
gb.util.web | Miscellaneous utility functions for web applications | 3.7
gb.vb | Visual-Basic compatibility |

### Communication & Network

Component | Description | Gambas version
--- | --- | ---
gb.dbus | D-Bus interface |
gb.gui.qt.webkit | QT4/QT5 WebKit switcher component | 3.8
gb.map | Online map viewing component | 3.4
gb.markdown | Gambas Markdown markup syntax | 3.6
gb.mime | Mime message management | 3.3
gb.net | Network access |
gb.net.curl | Network high-level protocol management based on the Curl library |
gb.net.pop3 | POP3 client | 3.3
gb.net.smtp | SMTP client |
gb.qt4.webkit | Web browser component based on WebKit for gb.qt4 |
gb.qt5.webkit | Web browser component based on WebKit for gb.qt5 | 3.8
gb.web | Web applications development |

### Database

Component | Description | Gambas version
--- | --- | ---
gb.db | Database access |
gb.db.form | Data bound controls |
gb.mysql | MySQL specific routines |
gb.memcached | Memcached client | 3.4

### XML programming

In Gambas 3.2, gb.xml has been rewritten. The old xml component has been renamed as gb.libxml.

Component | Description | Gambas version
--- | --- | ---
gb.libxml | Old XML tools based on libxml | 3.2
gb.xml | XML tools now made in Gambas |
gb.xml.html | HTML generator | 3.2
gb.xml.xslt | XSLT tools based on libxml |
gb.xml.rpc | XML-RPC protocol implementation |

### Compression & Crypting

Component | Description | Gambas version
--- | --- | ---
gb.compress | Compression library |
gb.crypt | MD5/DES crypting |
gb.openssl | OpenSSL library routines | 3.5

### Graphical User Interface

Component | Description | Gambas version
--- | --- | ---
gb.form | Enhanced controls |
gb.form.dialog | Enhanced version of the standard dialogs |
gb.form.mdi | Multi-document interface |
gb.gtk | GTK+ toolkit implementation |
gb.gtk3 | GTK+ 3 toolkit implementation | 3.6
gb.gui | QT/GTK+ component switcher |
gb.gui.qt | QT4/QT5 component switcher | 3.8
gb.pdf | PDF renderer based on Poppler |
gb.qt4 | Qt4 toolkit implementation |
gb.qt4.ext | Qt4 toolkit extension |
gb.qt5 | Qt5 toolkit implementation | 3.8
gb.report | Report designer |

### 2D Graphics

Component | Description | Gambas version
--- | --- | ---
gb.cairo | Vectorial drawing based on Cairo |
gb.clipper | Polygon clipping library based on the Clipper library | 3.5
gb.image | Image management component |
gb.image.imlib | Image routines based on the Imlib2 library |
gb.image.io | Image loading and saving |
gb.image.effect | Image filtering routines |

### 3D Graphics

Component | Description | Gambas version
--- | --- | ---
gb.gtk.opengl | OpenGL for GTK+ toolkit | 3.2
gb.gui.opengl | OpenGL with QT/GTK+ switcher component | 3.2
gb.opengl | OpenGL library interface |
gb.opengl.glu | OpenGL utility component |
gb.opengl.glsl | OpenGL shaders library |
gb.opengl.sge | A simple OpenGL game engine based on MD2 format | 3.5
gb.qt4.opengl | OpenGL for QT4 toolkit |
gb.qt5.opengl | OpenGL for QT5 toolkit | 3.8

### Desktop

Component | Description | Gambas version
--- | --- | ---
gb.desktop | Desktop management component |
gb.desktop.gnome.keyring | Gnome keyring support for desktop management component | 3.6
gb.desktop.x11 | X-Window library support | 3.6

### SDL programming

Component | Description | Gambas version
--- | --- | ---
gb.sdl | SDL library interface | Deprecated
gb.sdl.sound | Sound library based on SDL | Deprecated
gb.sdl2 | SDL2 component interface | 3.7
gb.sdl2.audio | SDL2 audio component interface | 3.7

### Multimedia

Component | Description | Gambas version
--- | --- | ---
gb.media | GStreamer library interface | 3.2
gb.openal | OpenAL library interface | 3.5
gb.scanner | Scanner management library | 3.7
gb.v4l | Video capture based on Video4Linux | Deprecated

### Scientific Libraries

Component | Description | Gambas version
--- | --- | ---
gb.complex | Complex number implementation | 3.3
gb.gmp | Gnu Multiple Precision Arithmetic Library interface | 3.5
gb.gsl | Gnu Scientific Library interface |

There are 831 classes and 10625 symbols in all Gambas components.

### See also

- Component

- How To Program Components In Gambas