[comp.windows.x] server GC semantics

dale@boing.UUCP (Dale Luck) (04/25/89)

If I have set a particular line style/width or
drawing mode in the GC but I have not called
ValidateGC yet, is the server guarenteed to use
the previous values or is the operation indeterminate?
There may be some servers that interpret the values of
the GC directly when they draw their bits instead of
waiting for the proper function to be loaded with a
call to ValidateGC. Or maybe I should rtfm.

-- 
Dale Luck     GfxBase/Boing, Inc.
{uunet!cbmvax|pyramid}!amiga!boing!dale

keith@EXPO.LCS.MIT.EDU (04/26/89)

You are required to *always* call ValidateGC if the serial number
in the GC doesn't match the serial number for the drawable.  You
must also *always* use ChangeGC to modify elements of the GC; otherwise
any extension which adds an interest to the GC will not see the changes.
ChangeGC always makes the serial number in the GC different from any
drawable; when the next drawing operation checks the serial numbers
they won't match and ValidateGC will be called.

Some of the mi code plays fast and loose with these rules, please
don't assume that it is always correct (some of it was written before
the rules were well specified, some was written by careless people).