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