Some of the earliest object oriented programming systems used graphics. But this is backwards. If you are programming graphics it is easy to think of the things that are displayed as objects belonging to classes. To put it another way, a graphic is often a simulated object and so the same forces that lead to objects and classes in Simula lead the graphic language and system designer towards ObjectOrientation. '''Examples''' Sketchpad Circa 1960 included the addresses of display functions as data describing the objects-- virtual functions. Quoth Alan Kay. SmallTalk in the 1970s. Macintosh OS using Clascal (!) in the 1980s? '''Counter-examples''' XWindows. ''XWindows? Although Xlib is not object oriented (being a pretty raw interface to the X protocol), X was distributed with the "X Intrinsics" library that provided an object-oriented GUI framework implemented in C. ''A fine example of PointerCastPolymorphism'' ---- Also see LayeredGraphics, StructuredGraphics, SceneGraph, GraphicsPatterns CategoryGraphicsPattern CategoryPattern