diff --git a/src/sketches/menu.cljs b/src/sketches/menu.cljs index 6d2084d..cd34e21 100644 --- a/src/sketches/menu.cljs +++ b/src/sketches/menu.cljs @@ -1,38 +1,48 @@ (ns sketches.menu - (:require [quil.core :as q])) - -(defn draw-menu-item [x y c1 c2 c3] - (q/fill c1 c2 c3) - (q/rect x y 100 100)) - -(def menu-items - {:padding 10 - :menu-list [{:label "Hello" - :color 255} - {:label "World" - :color 155} - {:label "Baby" - :color 15}]}) - -(defn generate-menu [num] - (map (fn [x] {:label (str "Item " x) - :color (rand-int (rand-int 255))}) - (range num))) - -(defn draw-menu [is-mobile? number-of-items] - (let [gen-menu (generate-menu number-of-items) - distance (if is-mobile? 300 500) - increments (if is-mobile? 70 100)] - (loop [index 1 - menu-list (generate-menu number-of-items)] - - (when (seq menu-list) - (let [item (first menu-list) - {:keys [label color]} item - new-x increments - new-y (* index increments)] - (draw-menu-item new-x new-y color color color) - (recur (inc index) (rest menu-list))))))) + (:require [quil.core :as q])) + + (defn draw-menu-item [x y h w c1 c2 c3] + (q/fill c1 c2 c3) + (q/rect x y w h)) + + + (defn gen-menu-items [] + (let [myrange (range 7) + height 100 + width 100] + (loop [index 0 + mrange myrange + menu-list []] + (if (seq mrange) + (recur (inc index) + (rest mrange) + (conj menu-list {:label (str "index: " index) + :color (rand-int (rand-int 255)) + :height height + :width width + :px 100 ; lets start here and stack them down + :py (+ 100 (* index height))})) + menu-list)))) + + (def menu-item-list + {:padding 10 + :menu-list (gen-menu-items)}) + + (defn generate-menu [num] + (map (fn [x] {:label (str "Item " x) + :color (rand-int (rand-int 255))}) + (range num))) + + (defn draw-menu [is-mobile?] + (doseq [{:keys [px py height width color]} (:menu-list menu-item-list)] + (draw-menu-item + px + py + height + width + color + color + color))) (comment @@ -49,5 +59,4 @@ (println (first coll) " with index " index) (recur (inc index) (rest coll))))) - (myloop) - ) \ No newline at end of file + (myloop)) \ No newline at end of file diff --git a/src/sketches/tut1.cljs b/src/sketches/tut1.cljs index e0d7d20..5234312 100644 --- a/src/sketches/tut1.cljs +++ b/src/sketches/tut1.cljs @@ -55,14 +55,14 @@ :left left :right right :top top :bottom bottom})) (defn draw-state [{:keys [is-mobile left right top bottom - canvas-x-center canvas-y-center circ-size]} ] + canvas-x-center canvas-y-center circ-size]} ] (q/background 230 230 230) (q/stroke 130, 0 0) (q/stroke-weight 4) (when (q/mouse-pressed?) - (menu/draw-menu is-mobile 4)) + (menu/draw-menu is-mobile)) (q/line left bottom right top) (q/line right bottom left top)