Libs-dev
Introduction
Libs-dev is a system libraries collection targeting different problematic programming areas.
Libraries description
Libs-dev now consists of four common-use libraries: libio (input-output programming), libini (INI-like files support), libimg (graphics files manipulation) and libgfx (drawing convenience API).
libio
Main article: Libs-dev/libio
libini
Main article: Libs-dev/libini
libimg
Main article: Libs-dev/libimg
libgfx
Main article: Libs-dev/libgfx
Libraries tests
There's a .test directory containing different libraries tests. They are designed to be independent and should generate (or contain pre-generated) test data which leads to same results disregarding the order tests are executed in.
KIV program is based on one of such tests (002) using libio and libimg libraries to show their capabilities in a small GUI application able to display picture at path supplied by command-line parameter.
Coding style
All the public functions are contained in <library name>.asm file, supporting public declarations in <library name>.inc file. All other library-specific (private and auxilary) core functions and declarations are separated into <library name>_p.asm and <library name>_p.inc files. There could also be separate files with self-describing names providing additional functionality.
Functions located in public source files use naming concention as in <function namespace name>.<function name>. Functions located in private source files use naming convention as in <library name>._.<function name>. This allows to separate libraries code when linking statically.
Specific type of function description comments is being used allowing documentation to be generated automatically in the future.