     :added "1.0"}
   rect
   "Draws a rectangle to the screen. A rectangle is a four-sided shape
-   with every angle at ninety degrees. By default, the first two
-   parameters set the location of the upper-left corner, the third
-   sets the width, and the fourth sets the height. These parameters
-   may be changed with rect-mode."
+  with every angle at ninety degrees. By default, the first two
+  parameters set the location of the upper-left corner, the third
+  sets the width, and the fourth sets the height. These parameters
+  may be changed with rect-mode.
+
+  To draw a rounded rectangle, add a fifth parameter, which is used as
+  the radius value for all four corners. To use a different radius value
+  for each corner, include eight parameters."
   ([x y width height]
      (.rect (current-surface) (float x) (float y) (float width) (float height)))
   ([x y width height r]

               level parameter.
  :dilate    - increases the light areas with the amount defined by
               the level parameter."
  ([mode]
     (let [mode (resolve-constant-key mode filter-modes)]
       (.filter (current-surface) (int mode))))
  ([mode level]
     (let [mode (resolve-constant-key mode filter-modes)]
       (.filter (current-surface) (int mode) (float level)))))

  image."
  [x y ^PImage src]
  (.set (current-surface) (int x) (int y) src))

(defn
  ^{:requires-bindings true
    :processing-name "shader()"
    :category "Rendering"
    :subcategory "Shaders"
    :added "2.0"}
  shader
  "Applies the shader specified by the parameters. It's compatible with the :p2d
  and :p3drenderers, but not with the default :java2d renderer. Optional 'kind'
  parameter - type of shader, either :points, :lines, or :triangles"
  ([shader] (.shader (current-surface) shader))
  ([shader kind]
    (let [mode (resolve-constant-key kind shader-modes)]
      (.shader (current-surface) shader mode))))

(defn
  ^{:requires-bindings true
