The GLAM Software Library Handbook

Manu Sporny

Director of Product Development
xRhino, Inc.
Product Development

Copyright Notice

This handbook is provided under the GNU Free Documentation License (FDL). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. For more information on the GNU FDL, please visit the GNU Free Documentation License web page.


Table of Contents

1. The GLAM library (libglam)
Introduction
Features
GLAM History
GLAM Designers and Programmers
2. GLAM Architecture
Overview
Core Classes
Decorators
Primitives
Event Handling
User Events
Widget Actions & Listeners
Containers
Animation
3. Putting It All Together
Overview
Primitives and Containers: Arranging Your Interface
Relative Geometries & Layout Managers
LayoutInGLArea & LayoutInGLVolume
Widget Packing & GL Extents
A Closer Look at Event Distribution
How Actions and Listener Interfaces Work
Animation and the User Interface
Widget Animation
Tooltips
Widget Movement
Limitations
Extending GLAM
4. Downloading, Building and Installing GLAM
Downloading GLAM
GLAM Build Tools
GNU Autoconf and make
System Documentation via Doc++, DocBook and Dia
The GLAM Build Process
Configuration
Pre-Compile Setup
Compiling and Linking Phase
Installation
Building Debian Packages
Contributing to GLAM
GLAM Glossary

List of Figures

2.1. Examples of GLAM Decorators
2.2. Examples of GLAM Primitives
2.3. Simple Diagram of GLAM Event Handling
2.4. Examples of GLAM container classes
2.5. Basic animation supported by GLAM
2.6. Advanced animation supported by GLAM
3.1. 2d Layout Manager
3.2. Flow Layout Manager
3.3. Grid Layout Manager
3.4. List Layout Manager
3.5. A Scrollable Pane