changeset 35:0d593970cb76

Separate namespace for demo and experiments.
author Mikhail Kryshen <mikhail@kryshen.net>
date Thu, 08 Jul 2010 06:02:12 +0400
parents 6975b9a71eec
children 5413b188d112
files project.clj src/indyvon/component.clj src/indyvon/demo.clj
diffstat 3 files changed, 91 insertions(+), 78 deletions(-) [+]
line diff
     1.1 --- a/project.clj	Thu Jul 08 05:27:54 2010 +0400
     1.2 +++ b/project.clj	Thu Jul 08 06:02:12 2010 +0400
     1.3 @@ -5,4 +5,5 @@
     1.4    :dev-dependencies [[leiningen/lein-swank "1.2.0-SNAPSHOT"]]
     1.5    :namespaces [indyvon.core
     1.6                 indyvon.layers
     1.7 -               indyvon.component])
     1.8 +               indyvon.component
     1.9 +               indyvon.demo])
     2.1 --- a/src/indyvon/component.clj	Thu Jul 08 05:27:54 2010 +0400
     2.2 +++ b/src/indyvon/component.clj	Thu Jul 08 06:02:12 2010 +0400
     2.3 @@ -50,80 +50,3 @@
     2.4         (.setBackground panel (:back-color *theme*))
     2.5         (listen! event-dispatcher panel)
     2.6         panel)))
     2.7 -
     2.8 -(comment
     2.9 -  (do
    2.10 -    (def frame (JFrame. "Test"))
    2.11 -    
    2.12 -    (def layer1
    2.13 -         (reify
    2.14 -          Layer
    2.15 -          (render! [layer opts]
    2.16 -             (with-handlers layer
    2.17 -               (doto *graphics*
    2.18 -                 (.setColor Color/RED)
    2.19 -                 (.fillRect 0 0 (:width *bounds*) (:height *bounds*)))
    2.20 -               (:mouse-entered e (println e))
    2.21 -               (:mouse-exited e (println e))
    2.22 -               (:mouse-moved e (println e))))
    2.23 -          (size [layer opts] (Size. 30 20))))
    2.24 -    
    2.25 -    (def layer1b (border-layer layer1 2 3))
    2.26 -    
    2.27 -    (def layer2
    2.28 -         (reify
    2.29 -          Layer
    2.30 -          (render! [layer opts]
    2.31 -             (doto *graphics*
    2.32 -               (.setColor Color/YELLOW)
    2.33 -               (.fillRect 0 0 (:width *bounds*) (:height *bounds*)))
    2.34 -             (draw! layer1b [10 5])
    2.35 -             (draw! layer1 [55 5]))
    2.36 -          (size [layer opts] (Size. 70 65))))
    2.37 -    
    2.38 -    (def layer3
    2.39 -         (border-layer (text-layer "Sample\ntext" :right :center)))
    2.40 -
    2.41 -    (defn fps-layer [fps]
    2.42 -      (border-layer (text-layer (format "%.1f" fps) :right :bottom) 0 5))
    2.43 -    
    2.44 -    (def fps
    2.45 -         (let [update-interval 0.1
    2.46 -               frames (ref 0)
    2.47 -               last (ref 0)
    2.48 -               fl (ref (fps-layer 0.0))]
    2.49 -           (reify
    2.50 -            Layer
    2.51 -            (render! [layer opts]
    2.52 -               (render! @fl nil)
    2.53 -               (dosync
    2.54 -                (alter frames + 1)
    2.55 -                (let [time (System/currentTimeMillis)
    2.56 -                      elapsed (/ (- time @last) 1000.0)]
    2.57 -                  (when (> elapsed update-interval)
    2.58 -                    (ref-set fl (fps-layer (/ @frames elapsed)))
    2.59 -                    (ref-set frames 0)
    2.60 -                    (ref-set last time)))))
    2.61 -            (size [layer opts] (size @fl nil)))))
    2.62 -    
    2.63 -    (def layer
    2.64 -         (reify Layer
    2.65 -           (render! [layer opts]
    2.66 -             (*update*)
    2.67 -             (doto *graphics*
    2.68 -               (.setColor (rand-nth [Color/BLACK Color/BLUE Color/RED]))
    2.69 -               (.drawLine 0 0 (:width *bounds*) (:height *bounds*)))
    2.70 -             (draw! layer2 [15 20])
    2.71 -             (draw! layer3 [100 100 80 50])
    2.72 -             (render! fps nil))
    2.73 -           (size [layer opts] (Size. 400 300))))
    2.74 -    
    2.75 -    (doto frame
    2.76 -      (.addWindowListener
    2.77 -       (proxy [java.awt.event.WindowAdapter] []
    2.78 -         (windowClosing [event] (.dispose frame))))
    2.79 -      (.. (getContentPane) (add (make-jpanel (viewport layer))))
    2.80 -      (.pack)
    2.81 -      (.setVisible true))
    2.82 -    )
    2.83 -  )
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/src/indyvon/demo.clj	Thu Jul 08 06:02:12 2010 +0400
     3.3 @@ -0,0 +1,89 @@
     3.4 +;;
     3.5 +;; Copyright (C) 2010 Mikhail Kryshen <mikhail@kryshen.net>
     3.6 +;;
     3.7 +;; This file is part of Indyvon.
     3.8 +;;
     3.9 +
    3.10 +(ns indyvon.demo
    3.11 +  (:gen-class)
    3.12 +  (:use indyvon.core
    3.13 +        indyvon.layers
    3.14 +        indyvon.component)
    3.15 +  (:import (indyvon.core Size Bounds)
    3.16 +           (java.awt Graphics2D Component Dimension Color)
    3.17 +           (javax.swing JFrame JPanel)))
    3.18 +
    3.19 +(def frame (JFrame. "Test"))
    3.20 +
    3.21 +(def layer1
    3.22 +     (reify
    3.23 +      Layer
    3.24 +      (render! [layer opts]
    3.25 +         (with-handlers layer
    3.26 +           (doto *graphics*
    3.27 +             (.setColor Color/RED)
    3.28 +             (.fillRect 0 0 (:width *bounds*) (:height *bounds*)))
    3.29 +           (:mouse-entered e (println e))
    3.30 +           (:mouse-exited e (println e))
    3.31 +           (:mouse-moved e (println e))))
    3.32 +      (size [layer opts] (Size. 30 20))))
    3.33 +
    3.34 +(def layer1b (border-layer layer1 2 3))
    3.35 +
    3.36 +(def layer2
    3.37 +     (reify
    3.38 +      Layer
    3.39 +      (render! [layer opts]
    3.40 +         (doto *graphics*
    3.41 +           (.setColor Color/YELLOW)
    3.42 +           (.fillRect 0 0 (:width *bounds*) (:height *bounds*)))
    3.43 +         (draw! layer1b [10 5])
    3.44 +         (draw! layer1 [55 5]))
    3.45 +      (size [layer opts] (Size. 70 65))))
    3.46 +
    3.47 +(def layer3
    3.48 +     (border-layer (text-layer "Sample\ntext" :right :center)))
    3.49 +
    3.50 +(defn fps-layer [fps]
    3.51 +  (border-layer (text-layer (format "%.1f" fps) :right :bottom) 0 5))
    3.52 +
    3.53 +(def fps
    3.54 +     (let [update-interval 0.1
    3.55 +           frames (ref 0)
    3.56 +           last (ref 0)
    3.57 +           fl (ref (fps-layer 0.0))]
    3.58 +       (reify
    3.59 +        Layer
    3.60 +        (render! [layer opts]
    3.61 +           (render! @fl nil)
    3.62 +           (dosync
    3.63 +            (alter frames + 1)
    3.64 +            (let [time (System/currentTimeMillis)
    3.65 +                  elapsed (/ (- time @last) 1000.0)]
    3.66 +              (when (> elapsed update-interval)
    3.67 +                (ref-set fl (fps-layer (/ @frames elapsed)))
    3.68 +                (ref-set frames 0)
    3.69 +                (ref-set last time)))))
    3.70 +        (size [layer opts] (size @fl nil)))))
    3.71 +
    3.72 +(def layer
    3.73 +     (reify
    3.74 +      Layer
    3.75 +      (render! [layer opts]
    3.76 +         (*update*)
    3.77 +         (doto *graphics*
    3.78 +           (.setColor (rand-nth [Color/BLACK Color/BLUE Color/RED]))
    3.79 +           (.drawLine 0 0 (:width *bounds*) (:height *bounds*)))
    3.80 +         (draw! layer2 [15 20])
    3.81 +         (draw! layer3 [100 100 80 50])
    3.82 +         (render! fps nil))
    3.83 +      (size [layer opts] (Size. 400 300))))
    3.84 +
    3.85 +(defn -main []
    3.86 +  (doto frame
    3.87 +    (.addWindowListener
    3.88 +     (proxy [java.awt.event.WindowAdapter] []
    3.89 +       (windowClosing [event] (.dispose frame))))
    3.90 +    (.. (getContentPane) (add (make-jpanel (viewport layer))))
    3.91 +    (.pack)
    3.92 +    (.setVisible true)))