john@acorn.co.uk (John Bowler) (07/17/89)
The protocol specification for PolyText8 says:- "Each character image, as defined by the font in the gc, is treated as an additional mask for a fill operation on the drawable." Can someone clarify this - does it mean:- 1) Each character in turn is drawn by performing a fill operation through a mask which is the combination of its character image and the (relevant) masks in the graphics context. [Ie the word ``additional'' means in addition to the graphics context, and overlapping characters will give cause multiple fill operations on some pixels] OR:- 2) The character images are combined (logical OR) to form a mask and a single fill operation is performed masked by the resultant mask and the relevant fields of the graphics context (effectively logical AND). [Ie the word ``additional'' means in addition to the masks from the other characters, and no pixel will be filled more than once (for a single ``text item'')] OR does the protocol leave the interpretation undefined? I am aware that the existing MIT code implements interpretation (1) - but both as a user and a system implementor I prefer (2); the behaviour of PolyText* with a fill rule which depends on the destination (particularly Xor) is more predictable, and the possibilities for optimisation within the server are greater (I can batch operations which update the display more easily). John Bowler jbowler@acorn.co.uk
rws@EXPO.LCS.MIT.EDU (07/19/89)
1) Each character in turn is drawn by performing a fill operation through a mask which is the combination of its character image and the (relevant) masks in the graphics context. I would have said it means this, but the protocol document is unfortunately not precise on this point.