[comp.windows.x] PolyText8/PolyText16 - how should characters be drawn?

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.