Use symbols instead of constants for tween modes.
[redact.git] / lib / redact / program.rb
index 78f2ca960a3904912650ea32daa252979e99b9ad..d6038d9646b82d17c75a499fa3e361d8d87884fa 100644 (file)
@@ -1,5 +1,5 @@
 #--
-# $Id: program.rb 1 2005-03-26 01:32:38Z tilman $
+# $Id: program.rb 23 2005-04-02 23:20:32Z tilman $
 #
 # Copyright (c) 2005 Tilman Sauerbeck (tilman at code-monkey de)
 #
@@ -73,11 +73,6 @@ module Redact
        end
 
        class SetStateProgram < Program
-               MODE_LINEAR = 1
-               MODE_SINUSOIDAL = 2
-               MODE_ACCELERATE = 3
-               MODE_DECELERATE = 4
-
                attr_reader :targets
                attr_accessor :state, :value, :mode, :time
 
@@ -87,16 +82,25 @@ module Redact
                        @type = TYPE_SET_STATE
                        @state = "default"
                        @value = 0.0
-                       @mode = MODE_LINEAR
+                       @mode = :linear
                        @time = 0.0
                        @targets = ProgramArgs.new(collection)
                end
 
                def to_eet_properties
+                       mode = case @mode
+                       when :linear: 1
+                       when :sinusoidal: 2
+                       when :accelerate: 3
+                       when :decelerate: 4
+                       else
+                               raise(RedactError, "invalid mode - #{@mode}")
+                       end
+
                        super.merge!(
                        {"state" => [@state],
                         "value" => [@value, :double],
-                        "tween.mode" => [@mode],
+                        "tween.mode" => [mode],
                         "tween.time" => [@time, :double],
                         "targets" => [@targets]})
                end