<html>
  <head>
    <title>Blinker - Canvas</title>
  </head>
  <body>
    <h1>Blinker - Canvas</h1>
    <p>
      The canvas module allows to merge several streams into one.
      It works lie a canvas, onto which rectangular sections of
      different streams are drawn.
      The result obtained on the canvas is then sent to a single output
      stream.
    </p>
    <h2>Configuration</h2>
    <p>
      The configuration of the canvas module with name <code>NAME</code>
      is located in the <code>canvas/NAME</code> subdirectory.
    </p>
    <h3>Format</h3>
    <p>
      The file <code>format</code> describes the format of the canvas,
      i.e. its dimensions, the number of channels and the color depth on
      each channel.
      The file must contain a string
      <code><width>x<height>-<channels>/<colors></code>,
      e.g. <code>18x8-1/256</code> for 18 pixels width, 8 pixels height
      in 256 grayscales.
    </p>
    <h3>Input List</h3>
    <p>
      The inputs to be drawn onto the canvas are configured in the
      <code>inputs</code> subdirectory.
      Each input is configured in an own subdirectory in <code>inputs</code>.
      E.g. the configurations for inputs with names <code>top</code>
      and <code>bottom</code> reside in subdirectories <code>inputs/top</code>
      and <code>inputs/bottom</code> respectively.
      All inputs are drawn to the canvas in alphanumerical order, i.e.
      <code>top</code> is painted over <code>bottom</code> on overlapping
      pixels.
    </p>
    <p>
      The configuration inside an input subdirectory consists of the following
      settings:
    </p>
    <h4>Input Stream</h4>
    <p>
      The file <code>instream</code> contains the name of the stream to
      read for this input.
    </p>
    <h4>Source Position</h4>
    <p>