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.