Path: utzoo!attcan!uunet!lll-winken!lll-lcc!lll-tis!helios.ee.lbl.gov!nosc!ucsd!ucbvax!bloom-beacon!WEB.BERKELEY.EDU!adamj From: adamj@WEB.BERKELEY.EDU Newsgroups: comp.windows.x Subject: Suggested internal GC restructuring for X11R3 Message-ID: <8807070557.AA00757@web4g.berkeley.edu> Date: 7 Jul 88 05:57:21 GMT Sender: daemon@bloom-beacon.MIT.EDU Organization: The Internet Lines: 35 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