code: public Canvas draw (Drawable image, float dx, float dy, float dw, float dh,
                        float sx, float sy, float sw, float sh) {
      image.draw(gc(), dx, dy, dw, dh, sx, sy, sw, sh);
      isDirty = true;
      return this;
    }
docs: Draws a subregion of a image {@code (sw x sh) @ (sx, sy)} at the specified size
  {@code (dw x dh)} and location {@code (dx, dy)}.
  
  TODO (jgw): Document whether out-of-bounds source coordinates clamp, repeat, or do nothing.