| 1 |
libora is meant to be a reference library to help implementation of the |
| 2 |
OpenRaster file format: http://create.freedesktop.org/wiki/OpenRaster |
| 3 |
|
| 4 |
Status: Immature, under development |
| 5 |
License: Simplified BSD (2 clause) |
| 6 |
|
| 7 |
== CONTACT == |
| 8 |
create@lists.freedesktop.org |
| 9 |
|
| 10 |
== INSTALLING == |
| 11 |
libora uses the cmake build system. To install: |
| 12 |
|
| 13 |
cmake -DCMAKE_INSTALL_PREFIX:PATH=/installation/path . |
| 14 |
make |
| 15 |
make install |
| 16 |
|
| 17 |
== TODO == |
| 18 |
- Don't put a white background on rendered images |
| 19 |
- Add ability to open a FILE*, file descriptor and/or memory buffer |
| 20 |
- Add "stack" API for going backwards through the layers |
| 21 |
- Allow one to get layer information (like opacity, position) without reading out the layer data |
| 22 |
- Support incremental rendering of the full-document image |
| 23 |
- Provide a ora2png binary that allows one to convert OpenRaster files to PNG |
| 24 |
|
| 25 |
Proposed style/correctness/best-practices fixes |
| 26 |
- Get rid of _ prefixed symbols, they are reserved for C implementations |
| 27 |
- Use enums for enumerated values (ex: ORA_FORMAT_*) |
| 28 |
- Don't typedef standard types, it typically gives no benefit |
| 29 |
- Use a distinct naming convention for types, it increases readability. Suggestion: CamelCasedType |
| 30 |
- Don't typedef things to void*, it reduces type safety (ex: ORA) |
| 31 |
- Put external code outside the main source directory (ex: oratool, zip, parser generator). Rename src to libora? |
| 32 |
- Don't use a nested directory structure when there only a few files in each dir |
| 33 |
- Consolidate the different ora_document* types, the duplication is error prone |
| 34 |
- Don't use positional arguments for individial data where the amount of data might change (ex: ora_layer_write()) |
| 35 |
- Get rid of the ORA_FILE_READ_NO_STACK, just read the stack on-demand when neccesary (and preferably only the parts neccesary) |