libnebular online with Winfy
We have hosted the application libnebular in order to run this application in our online workstations with Wine or directly.
Quick description about libnebular:
LibNebular is C++ Linux library for uniform image file manipulation as String key-value pairs (with sometimes BLOB values) where different file types are intruduced through DL (".so") libraries. Includes BMP and JPEG plugins. Can easily be ported.Features:
- Read/write of one-page one-frame pictures into String key-value pairs (if String value doesn't fit, BLOB also can be used)(That's not hard to extend property system to multipage files and animations because there is property subtree proxy.)
- Many (RGBAX) bitmap memory formats are supported
- File type can be determined through URL extension and through file signature ("magic") (and then file is manipulated through corresponding Dynamically Loadable library (".so") plugin)
- Ability to store bitmap in user-supplied memory area (its required size can be calculated by the library)
- No support (through it's easy to add) for conversion to, from palettized bitmaps - but palette storage and retrieval can be done
- Doesn't do anything about graphical output (through there's included example of output with help of LibSDL)
- Through library is for GCC on GNU/Linux, seems that porting is not hard
- Fairly good class design and C++ language (mostly as in ISO/IEC 14882: 2003)
- Moderate number of external dependencies at compile time (see "INSTALL"), and even more: some of them are included in distribution (if you plan to use them, however, note their different licenses)
- Even less compile time dependencies for user who isn't plugin developer (GNU C Library, C++ Standard Library; included in distribution LibBoost "boost/shared_ptr.hpp", "boost/make_shared.hpp". Some more? Seems that none)
- Nearly no external depencencies at library runtime (GNU C Library, maybe C++ Standard library and hmm. LibJPEG for JPEG plugin)
- Distinct boundary between User API and Plugin API
- Doxygen in-code documentation
- Errors are reported through exceptions; also, there's mechanism to report warnings (and informational messages) to user-supplied callbacks
- Wrapper for "emulation" of exception throwing from below C code (e.g. for error handling in LibJPEG)
- There are examples of realizaton of plugin with help of (1) external C library (JPEG plugin) and (2) nothing but own hands (BMP plugin)
- Property subtree proxy for manipulation identically-prefixed properties as distinct trees and even pictures
- Many of warning, error messages are uniform (but not identical)
- System unit testing (done with help of Google Test) is included
- Distinct namespace for all identifiers exposed to public (but, surely, except macros)
- Some useful templates are already instantiated
- OOP patterns and other good programming techniques are used such as Singleton, own Iterator-s; Functor-s, Smart pointers, Pimpl-s, BLOB-s with copy-on-write feature, Wrappers, Proxy for Subtree
- Autotools (Autoconf, Automake) build system
- Everything excluding Software Requirements Specificaton and original task is in English language (former are in Russian language)
Audience: Developers, Information Technology.
Programming Language: C++.
Categories:
Data Formats, Graphics
©2024. Winfy. All Rights Reserved.
By OD Group OU – Registry code: 1609791 -VAT number: EE102345621.