Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!know!sdd.hp.com!elroy.jpl.nasa.gov!decwrl!adobe!asente From: asente@adobe.com (Paul Asente) Newsgroups: comp.windows.x Subject: Re: OW as a PostScript X server... Message-ID: <8245@adobe.UUCP> Date: 15 Nov 90 01:34:32 GMT References: <9011131842.AA08663@islanders.> <1990Nov14.012626.3685@mcs.anl.gov> Sender: news@adobe.COM Organization: Adobe Systems Inc. Lines: 37 In article <1990Nov14.012626.3685@mcs.anl.gov> korp@atlantis.ees.anl.gov (Peter Korp) writes: >As I am not privy to source, exactly how is the DP extension to X implemented? >Are the X proto requests interpreted by the X-server and basically converted >to standard X calls? Is systemdict shared by all processes? You don't need to be privy to source, just documentation! The way an X extension works is that each particular instance of an X server supports some number of extensions, possibly 0. The extensions that a server supports is normally determined when the server is built. (Run-time loading complicates this somewhat. The server must be able to respond to the XListExtensions request and give back all the extensions it supports, so it must know about extensions that it is willing to load.) Requests destined for an extension look exactly like normal X requests. They have a request code, length, etc. The server's event dispatcher sees these requests, notices that they are for an extension, and passes them off to the extension code. In DPS's case, what the extension does with the request is execute it as PostScript code and image into a drawable. Each X server connection that also uses DPS/X (the name for the Display PostScript extension to X) must get a PostScript execution context. The normal case is one context per display connection. Part of a PostScript execution context is a virtual memory (VM), and normally each execution context has its own VM (although they can be shared). There is also a designated VM called the shared VM, visible to all contexts. When the extension looks for something, it looks in both the private VM for the currently executing context and the shared VM. Usually a context only updates its own VM, but it can enter a mode where it can update the shared VM; an example use would be to install a new font. Systemdict lives in the shared VM. If you're interested, you can order the Display PostScript documentation binder by calling Adobe Developer Support at (415) 961-4111. -paul asente asente@adobe.com ...decwrl!adobe!asente