adamj@WEB.BERKELEY.EDU (07/07/88)
It would be a lot easier to write cursor drivers, hardware accelerators, performance monitors, and other graphics operation traps if all of the information in a GC that ValidateGC could change were stored in a seperate data structure. Life would also be much better if all of the GC client functions were of exactly the same format. For example: (*pGC->pDriver->functions[FILL_POLYGONS]) (pGC, pDrawable, pGC->pDriver, FILL_POLYGONS, pPolygonArguments) typedef struct _GC { ...alu, fg, bg, fillStyle, font, etc... GCClientPtr pClient; } GC; typedef struct _GCClient { void (*functions) () [NUM_GC_FUNCTIONS]; GCInterestPtr pInterest; /* GC driver packages allocate extra data here. */ } GCClientRec, *GCClientPtr; etc., etc. I'd be willing to write this myself if I could get some assurance that there is a good chance of it being incorporated into a future standard X release. Bear in mind that the kind of change that I want is a fundamental change in the DDX interface. --Adam J. Richter adamj@zen.berkeley.edu