From 1c85268b955d4dce59274220a130af1ab5097f79 Mon Sep 17 00:00:00 2001 From: oakes Date: Tue, 26 Aug 2014 18:13:31 -0400 Subject: [PATCH] Add :x and :y to screen map when necessary --- src/play_clj/core.clj | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/play_clj/core.clj b/src/play_clj/core.clj index 44f0d0e..4241ffb 100644 --- a/src/play_clj/core.clj +++ b/src/play_clj/core.clj @@ -61,13 +61,19 @@ [screen screen-fn] (screen-fn)) +(defn ^:private add-coords + [{:keys [input-x input-y] :as screen}] + (if (and input-x input-y) + (merge screen (input->screen screen input-x input-y)) + screen)) + (defn defscreen* [{:keys [screen entities on-show on-render on-hide on-pause on-resize on-resume on-timer] :as options}] (let [execute-fn! (fn [func & {:keys [] :as options}] (when func - (let [screen-map (merge @screen options) + (let [screen-map (add-coords (merge @screen options)) old-entities @entities] (some->> (with-meta #(normalize (func screen-map old-entities))