Maccala is a powerful and complete vector based drawing library. It's part of Picture to People project "from scratch" basis. Picture to People uses it heavily to implement its high level tools and effects. As the development evolves, new features and tools will be shown here.
Picture to People software development is guided by some general goals. To know about these global features you should go here.
Maccala offers native anti-aliased drawing and filling through its exclusive rasterizer (its algorithm was researched exclusively to be used in Picture to People software). It's also prepared to draw thick lines in high quality. It can deal with fractinary positions and fractionary thickness without lose its high level anti-aliasing. Here you see a set of lines with fractionary end points. The left line has a thickness of 0.5 and each next line increases the thickness by 0.5.
Using Maccala it's possible to draw any kind of arrow with no effort. The arrows can be set as desired.
Line patterns are not a problem to Maccala. Lines, curves and shapes can be drawn using patterns. Its highly configurable pattern engine lets the programmer define all styles he can need.
Maccala has a powerful library to deal with shapes. Stars, for example, are shapes that can be used directly.
The library can easily draw stickers with a good configuration level.
Maccala also has a good tool to draw configurable flowers.
The library offers a big list of shapes natively. All these shapes can be drawn by the programmer with no effort.
All closed shapes can be drawn, filled or both. Maybe you are missing gradients, but they are not here because they are not part of Maccala. Picture to People uses Pixsycho to draw gradients. Geometric transformations are present in Maccala, so all shapes can be translated, scaled, rotated, etc.
Maccala has an exclusive library to make set operations over any kind of shape. Below you see three examples of set operations between two shapes: intersection, union and difference. Using this sub-library in its maximum power, it's possible even tackle self-intersecting shapes. Having this in hand, the number of different shapes that can be created using Maccala is virtually infinite.
Maccala has a powerful font engine made from scratch. Its goal is draw True-Type fonts in high quality. This engine tries to solve the hinting problems its own way and usually text can be rasterized in good quality using large or small sizes.
The font engine supports natively bold and italic styles for any True-Type font, even if the font metadata doesn't define that. In future, Maccala will support a lot of different text styles you usually can't find in any font rasterizer.
No matter how complex a font can be, the font engine can draw it. Maccala can draw any True-Type font.
Maccala is prepared to draw just the text outline, even if the font is very complex. The outline thickness is highly configurable.
Despite complex fonts usually are not made to be drawn in very small sizes, it's a very good test. The powerful rasterizer can draw the outlines of weird fonts in tiny sizes perfectly.
You can see how the anti-aliasing level of the rendering engine can be configured on the fly when drawing. This image shows 10 anti-aliasing levels, starting from no anti-aliasing at all. The output quality increases stepping by 1, despite the last levels can look like having the same good appearance for human eyes.
Using Maccala, it's very easy to draw shapes over paths or use shapes to make line patterns. The resulting shapes can be drawn as desired.
Maccala offers several styles to join thick lines that can be used with no effort. This feature can be choosen in a so simple way as setting a parameter.
Drawing or filling tasks can be made using alpha. Maccala can draw shapes with antialiased blending natively. The implementation doesn't need layers or masks. Anyway, when transparency is not needed, it's possible to draw avoiding this overhead.
Any text, using any True Type font, can be easily drawn in any direction or over any arbitrary path. Of course, the professional anti-aliasing is not lost.
Maccala has its own font engine for good reasons. Since the library deals with metadata from True Type fonts and draw text by itself, it's possible to create uncountable vector based text effects. First you see the normal text in the canonical Arial font, so there are six transformations made using the original text as input. One of the main advantages of this approach is: the resulting text keeps like an entity made of vectors. All shown effects are fast to calculate. If speed is not very important, the possible results are almost incredible.
Using Maccala's power, Pixsycho can make arbitrary 3D transformations over images. It uses an exclusive algorithm researched for Picture to People project. It is generic and works well even in border regions, no matter if the resulting image will be smaller or bigger than the original one. You get all of this with a very professional and configurable anti-aliasing level. It's possible to get a perfect result no matter how big is the distortion caused by the perspective viewing. These example transformations (right) were made using an anti-aliasing level of just 4, very far from its maximum power.
With Maccala, it's easy to create arbitrary, hierarchical transformations over curves or shapes. These transformations are configurable and can be made by any kind of function as defined by the programmer. Using Maccala, a developer create a cumulative, stack based group of transformations with almost no effort.
The library is prepared to create rectangles with rounded corners very easily. There is a high configuration level, and using this feature is very intuitive and simple like calling a method.
Leonardo C. de Almeida - P2P developer