multi-colormodel imaging library.
path : garma > Maliwan



garma's color management system. Basicly this is a library that is being used in BluTulip, a multi-colormodel image edit program. Maliwan has a set of APIs to manage system color profiles and a set of basic Objective-C wrapper over LCMS.

And also a library inspired by GEGL but actually got the idea from Aluminium project. Maliwan relies a lot on littlecms for its bitmap converter and color profile managements APIs. Maliwan is a framework containing mainly 2 types of classes, factories and primitives. Primitives can be bitmaps, colors, bezier paths, etc.. They share a nature that both has a frame (NSRect) for describing their geometries and by any point (X,Y) always provide a color value. Such a primitive class like color has infinite accessible area. No matter where you access this kind of primitive, you usually get a single value. OTOH, bitmap class may have limited information but they can act like they are a repeating tile or a tile with transparent border. This depend on the implementation of each bitmap class which can be differentiated. Maliwan use factories and factory managers to control all the primitive productions. A set of factories will form up a network of pipeline that each factory will generate output primitive(s) from input primitive(s). The pipelining is extremely dynamic by using Objective-C selectors to define inputs and outputs. So making a factory that accept many and any primitives is very possible. There's no further documentations because I don't have time to write one. In this meanwhile, please check the Blog

This diagram shows an example of how to make a green spot and put it on a bitmap.

This diagram illustrates the "changeset" managed by a factory manager.


API references
  • Doxygen generated HTML
  • PDF (N/A)

  • discussions

    Mailing list
  • subscribe garma-maliwan or mail to

  • Blog
  • visit maliwan's blog for news and more.