head 1.2; access; symbols; locks; strict; comment @% @; 1.2 date 2003.05.17.01.41.53; author cworth; state Exp; branches; next 1.1; 1.1 date 2003.05.16.18.51.41; author cworth; state Exp; branches; next ; desc @@ 1.2 log @Final batch of minor corrections. Should be ready to ship now. @ text @\section{Implementation} As currently implemented, Xr has good support for all functions described here. The major aspects of the PostScript imaging model that have not been discussed are text/font support, clipping, and color management. Xr does include some level of experimental support for text and clipping already, but these areas need further development. The Xr system is implemented as 3 major library components: libXr, libXc, and libIc. LibXr provides the user-level API described in detail already. LibXc is the backend of the Xr system. It provides a uniform, abstract interface to several different low-level graphics systems. Currently, libXc provides support for drawing to the X Window System or to in-memory images. The semantics of the libXc interface are consistent with the X Render Extension so it is used directly whenever available. LibIc is an image compositing library that is used by libXc when drawing to in-memory images. LibIc can also be used to provide support for a low-level system whose semantics do not match the libXc interface. In this case, libIc is used to draw everything to an in-memory image and then the resulting image is provided to the low-level system. This is the approach libXc uses to draw to an X server that does not support the X Render Extension. The libIc code is based on the original code for the software fallback in the reference implementation of the X Render Extension. It would be useful to convert any X server using that implementation to instead use libIc. These three libraries are implemented in approximately 7000 lines of C code. @ 1.1 log @Added implementation @ text @d23 1 a23 1 in-memory image and then the resulting image is given provided to the d25 1 a25 1 server that does not support the X Rendering Extension. d28 1 a28 1 in the reference implementation of the X Rendering Extension. It would @