             [clojure.core.async :as async])
   (:import
     (java.lang.reflect Field)
-    (java.awt Color
-              Canvas
+    (java.awt Canvas
               Color
               Font
               FontMetrics
               Graphics
               Image
               RenderingHints)
-    (java.awt.event KeyEvent)
     (org.lwjgl BufferUtils LWJGLUtil)
     (java.nio FloatBuffer ByteBuffer)
     (org.lwjgl.opengl Display ContextAttribs

            "\u2584"
            "\u2592"
            "\u2648"
            "\u2665")
       c (concat (map vector c (repeat false))
                 (map vector c (repeat true)))]
    c))


(defn- init-buffers [vx vy]
  (let [vertices              (float-array [vx   vy  0.0,
                                            0.0  vy  0.0
                                            0.0, 0.0 0.0
                                            vx   0.0 0.0])
        texture-coords        (float-array [1.0 1.0
                                            0.0 1.0
                                            0.0 0.0
                                            1.0 0.0])
        vertices-buffer       (-> (BufferUtils/createFloatBuffer (count vertices))
                                  (.put vertices)
                                  (.flip))
