<html>

<h1>Example for composition modes</h1>

<p>
  This example shows some of the more advanced composition modes supported by Qt.
</p>

<p>
  The two most common forms of composition are <b>Source</b> and <b>SourceOver</b>.
  <b>Source</b> is used to draw opaque objects onto a paint device. In this mode,
  each pixel in the source replaces the corresponding pixel in the destination.
  In <b>SourceOver</b> composition mode, the source object is transparent and is
  drawn on top of the destination.
</p>

<p>
  In addition to these standard modes, Qt defines the complete set of composition
  modes as defined by Thomas Porter and Tom Duff. See the <tt>QPainter</tt> documentation
  for details.
</p>

</html>
