Flake is a new programming library that will be used in the upcoming KOffice 2 series. In Computer science, a library is a collection of Subroutines used to develop Software. KOffice is an Office suite for the K Desktop Environment ( KDE) Flake will provide the basic concept of a "shape". To the end user a shape will appear as some piece of content like an image or a text. A shape can be in any form (square, circle, etc) and contain any kind of media since the Shape is responsible for drawing itself. All components of KOffice are being overhauled to use Flake as much as possible. [1]
The functionality of Flake is divided up between Shapes which display content, and Tools which manipulate content or the user interface. Different Shapes can be created to support different kinds of content, for example the text-shape in KWord would support .txt and .odt formats while the Kchart shape would just support chart related document standard like . odc. Shapes will also be packaged with a set of tools to manipulate that kind of content and UI elements that expose the functionality to the user. This provides an application with all the features it needs and also allows for easy embedding of Shapes in other applications. Shapes can load other shapes when needed, for example when images are in text documents the image shape will be loaded to handle the images.
Flake is the successor to the old design of embedding based on widgets in the KOffice 1 series. The widget embedding had three notable shortcomings, that widgets were always square, couldn't be rotated and were measured in pixels. All of which are corrected by Flake. Embedded document data can now be zoomed, rotated and skewed, be of any form and are measured in units like millimeters. Flake also improves on the original design in several areas, like its extensibility. For example in Google's Summer of Code 2007 Marijn Kruisselbrink created a MusicXML based music notation Shape and Tools[2] Shapes can be made aware of other Shapes positions, moving an image through text will result in the text dynamically wrapping around the images[3]. MusicXML is an open XML -based Music notation file format It was developed by Recordare LLC deriving several key concepts from existing academic formats (such See also Modern musical symbols Music notation or musical notation is any system which represents aurally perceived Music through the use Shapes can even be grouped together and made to behave like a single Shape. Flake also supports printing to PDF and has full support for anti-aliased painting for smoother text. In Digital signal processing, anti-aliasing is the technique of minimizing the distortion artifacts known as Aliasing when representing a high-resolution signal [4]