Basic concepts: Framework Mosaic
Besides Chora a further level of abstraction is represented by the Mosaic framework – a library of ready for use components for the typical, in every GUI application emerging tasks. These components encapsulate all graphical operations, coordinate the screen update, perform animations or dispatch and process the user inputs. In short, they provide the infrastructure of a GUI application.
From technical point of view, the Mosaic is a class library, completely object-oriented designed and implemented in the platform independent programming language Chora. A GUI application inherits this functionality and if necessary extends or overrides it. Consequently the Mosaic and the application conflate together. For example, all GUI components used within the application are direct or indirect descendants of the Mosaic class Core::View. This base class implements an infrastructure for the derived components, capacitating them to perform screen updates and to process user inputs.
When designing the Mosaic we were geared to various existing and modern GUI frameworks, for example Apple's Cocoa. Users who are already familiar with other GUI frameworks should recognize the established concepts in Mosaic easily.