From 52ef5b9a387ea8ba1da855603fe64779d34d5543 Mon Sep 17 00:00:00 2001 From: oakes Date: Fri, 4 Apr 2014 03:06:49 -0400 Subject: [PATCH] Improve shape documentation --- doclet/resources/classes.edn | 5 ++--- src/play_clj/core_graphics.clj | 16 ++++++++++------ 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/doclet/resources/classes.edn b/doclet/resources/classes.edn index 6c99a40..f0a66c2 100644 --- a/doclet/resources/classes.edn +++ b/doclet/resources/classes.edn @@ -175,9 +175,8 @@ "SelectBox" {"select-box" :methods "select-box!" :methods} "SelectBox.SelectBoxStyle" {"style :select-box" :constructors} - "ShapeRenderer" {"shape!" :methods - "render-shapes!" :methods} - "ShapeRenderer.ShapeType" {"shape-type" :static-fields} + "ShapeRenderer" {"shape" :methods + "shape!" :methods} "Skin" {"skin" :methods "skin!" :methods} "SkinLoader" {"loader :skin" :methods diff --git a/src/play_clj/core_graphics.clj b/src/play_clj/core_graphics.clj index dfc7574..b677356 100644 --- a/src/play_clj/core_graphics.clj +++ b/src/play_clj/core_graphics.clj @@ -14,10 +14,7 @@ [object k & options] `(u/call! ^Pixmap ~object ~k ~@options)) -(defmacro shape-type - "Returns a static field from [ShapeRenderer.ShapeType](http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/graphics/glutils/ShapeRenderer.ShapeType.html). - - (shape-type :filled)" +(defmacro shape-type* [k] `~(u/gdx-field :graphics :glutils "ShapeRenderer$ShapeType" (u/key->pascal k))) @@ -30,14 +27,21 @@ (defmacro shape "Returns an entity based on [ShapeRenderer](http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/graphics/glutils/ShapeRenderer.html). - (shape :filled)" + ; create a red rectangle + (shape :filled + :set-color (color :red) + :rect 0 0 10 30) + ; create an empty shape, then set it to a green rectangle + (shape (shape :filled) + :set-color (color :green) + :rect 0 0 10 30)" [type & options] (when (seq (clojure.set/intersection #{:begin :end} (set options))) (-> "No need to call :begin or :end, because it's done for you." Throwable. throw)) `(let [entity# ~(if (keyword? type) - `(assoc (shape*) :type (shape-type ~type)) + `(assoc (shape*) :type (shape-type* ~type)) type) ^ShapeRenderer object# (u/get-obj entity# :object)] (assoc entity# :draw! (fn [] (u/calls! object# ~@options)))))