Our last instances of the geometries is a square drawn on top of
the disk and located in the lower-left corner of the projection
window. We make the disk larger than the square and, in turn, it
is drawn first. Also, we size the disk and square, respectively,
to 0.1 and 0.05 units. Since the diamond is in essence a square,
we need only rotate the diamond so that its edges are parallel
to projection window boundaries. This is accomplished through
a rotation of 45 degrees.
Since the centers of the disk and the square will be at the same
location, namely, (0.2, 0.2), we use only one call to glTranslate to
place them there. We make this call first after pushing the
model-view matrix stack. Since the instance of the disk is created
through a transformation different from the one used for the square,
we push the stack again, call the scale transformation that is applied
to the disk, create the disk and then pop the stack. We do a similar
thing for the square. After creating the two instances, we pop the top
element from the stack that contained the translation.