[comp.windows.x] Suggested internal GC restructuring for X11R3

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