[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
To make sure some parts of Crystal Space can be used by themselves, there is a philosophy, about which parts of Crystal Space are allowed to use other parts. You can think of the various modules as sitting on a specific level:
Note: This information may not be fully accurate at the time you read this. Crystal Space is moving toward a system of plug-in modules which advertise pure, abstract interfaces which often imply much less dependency than actually linking with a library.
libjpeg
libpng
zlib
csgeom
csutil
cssys
video/canvas
video/renderer
network/driver
sound/driver
sound/renderer
csengine
csparser
csws
walktest
metademo
Every modules is only allowed to include headers from the same modules or from lower levels. So for example, `csengine' may include headers from `csutil' but not from `csws' or `csparser'.
All communication between level 3 libraries happens through SCF interfaces. Those are defined in the `CS/include' directory. That is the only way to communicate on level 3. `csengine' can use level 3 libraries only through SCF.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |