Fresco (computing)

From Wikipedia, the free encyclopedia

In computing, Fresco (formerly known as Berlin) is a windowing system. It is intended as a replacement for the X Window System. As of December 21, 2006, the last activity in the project's CVS repository was dated June 11, 2004. It is free software, licensed under the terms of the GNU Lesser General Public License (LGPL).

Contents

[edit] Scope

Fresco tries to use a different approach than most other user interface systems. First of all, its scope is a bit different from for instance the X Window System. Xorg roughly provides graphics and input drivers, drawing primitives (sometimes through extensions), and a network transparent way of using these. Fresco on the other hand is not dealing with drivers at all, but does provide the primitives and the network transparency, and in addition provides the higher level widgets that a GUI toolkit in the X Window System would provide.

[edit] Core concepts

A major difference with more traditional systems is that the higher level widgets exist in a server side scene-graph. This results in very little communication overhead between the application and the display server when manipulating the widgets, because all the information needed to re-render the entire scene is there. Keeping the scene on the server also allows more opportunities to leverage hardware acceleration. OpenGL rendering of everything including the widgets has been implemented, and leveraging more advanced future hardware should be possible as it becomes available - of course, without having to rewrite the client applications.

Everything in the scene-graph is a CORBA Object, and able to be manipulated in a network transparent way. The higher level widgets are built out of lower level primitives in the same way a (remote) client app would. So everything is accessible through a consistent CORBA API.

Another interesting property is that Fresco tries to be completely device-independent and resolution-independent. Switching from the OpenGL renderer to the Postscript renderer for printing for instance, should yield the exact same results.

[edit] See also

[edit] External links