                  0 0 w h
                  (or arc-radius arc-width)
                  (or arc-radius arc-height))))
-
 
 (defn font-object
   "Create a java font object with various properties."

                            (draw-primitive g2d %))
           (denest (expand widgets))))))

(defn canvas
  "Create a blank JPanel \"canvas\" for automatic painting. The
  canvas is automatically updated with the graphics description

        scroll-pane (JScrollPane. text-area)]
    (handle-data-changed text-area
      #(try (reset! data-atom
              (eval (read-string (.getText text-area))))
                 (catch Exception e nil)))
    (.setText text-area (with-out-str (clojure.pprint/pprint @data-atom)))
    (doto (JFrame. "Data Editor")
      (.setBounds 10 10 400 400)
      (.. getContentPane (add scroll-pane))
      .show)))

