File tree 4 files changed +66
-0
lines changed
4 files changed +66
-0
lines changed Original file line number Diff line number Diff line change
1
+ pom.xml
2
+ * jar
3
+ /lib /
4
+ /classes /
5
+ .lein-failures
6
+ .lein-deps-sum
Original file line number Diff line number Diff line change
1
+ # games
2
+
3
+ FIXME: write description
4
+
5
+ ## Usage
6
+
7
+ FIXME: write
8
+
9
+ ## License
10
+
11
+ Copyright (C) 2011 FIXME
12
+
13
+ Distributed under the Eclipse Public License, the same as Clojure.
Original file line number Diff line number Diff line change
1
+ (defproject games " 1.0.0-SNAPSHOT"
2
+ :description " FIXME: write description"
3
+ :dependencies [[org.clojure/clojure " 1.2.1" ]])
Original file line number Diff line number Diff line change
1
+ (ns games.skeleton
2
+ (:import (javax.swing JPanel JFrame)
3
+ (java.awt BasicStroke Color Dimension Graphics Graphics2D RenderingHints)
4
+ (java.awt.geom AffineTransform Ellipse2D$Double)))
5
+
6
+
7
+ (defn frame
8
+ [content & {:keys [title size]
9
+ :or {title " Untitled" , size [300 300 ]}}]
10
+ (doto (JFrame. )
11
+ (.add content)
12
+ (.setTitle title)
13
+ (.setSize (first size) (second size))
14
+ (.setLocationRelativeTo nil )
15
+ (.setVisible true )))
16
+
17
+
18
+ (defn skeleton []
19
+ (doto (frame (JPanel. ) :title " Skeleton" :size [600 200 ])
20
+ (.setResizable false )))
21
+
22
+
23
+ (defn donut-board []
24
+ (proxy [JPanel]
25
+ []
26
+ (paint [g]
27
+ (proxy-super paint g)
28
+ (doto g
29
+ (.setRenderingHints {RenderingHints/KEY_ANTIALIASING RenderingHints/VALUE_ANTIALIAS_ON
30
+ RenderingHints/KEY_RENDERING RenderingHints/VALUE_RENDER_QUALITY})
31
+ (.setStroke (BasicStroke. 1 ))
32
+ (.setColor Color/gray))
33
+
34
+ (let [size (.getSize this)
35
+ w (/ (.getWidth size) 2 )
36
+ h (/ (.getHeight size) 2 )
37
+ e (Ellipse2D$Double. 0 0 80 130 )]
38
+ (doseq [deg (range 0 360 5 )]
39
+ (let [at (AffineTransform/getTranslateInstance w h)]
40
+ (.rotate at (Math/toRadians deg))
41
+ (.draw g (.createTransformedShape at e))))))))
42
+
43
+ (defn donut []
44
+ (frame (donut-board ) :title " Donut" :size [360 310 ]))
You can’t perform that action at this time.
0 commit comments