     (set! (. (. camera position) y) (/ height 2))
     (.update camera)))
 
+(defn width
+  "Returns the width of the camera in `screen`.
+
+    (width screen)"
+  [screen]
+  (let [^Camera camera (u/get-obj screen :camera)]
+    (. camera viewportWidth)))
+
 (defn width!
   "Sets the width of the camera in `screen`, adjusting the height so the ratio
 remains in tact.

      (when z-val (set! (. (. camera position) z) z-val))
      (.update camera))))

(defn position
  "Returns the position of the camera in `screen`."
  [screen]
  (let [^Camera camera (u/get-obj screen :camera)]
    (. camera position)))

(defn direction!
  "Sets the direction of the camera in `screen`."

  [screen new-height]
  (size! screen (* new-height (/ (game :width) (game :height))) new-height))

(defn x
  "Returns the x position of the camera in `screen`."
  [screen]
  (let [^Camera camera (u/get-obj screen :camera)]
    (. (. camera position) x)))

(defn x!
  "Sets only the x position of the camera in `screen`."
