aboutsummaryrefslogtreecommitdiff
path: root/src/Model/Color.elm
diff options
context:
space:
mode:
Diffstat (limited to 'src/Model/Color.elm')
-rw-r--r--src/Model/Color.elm22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/Model/Color.elm b/src/Model/Color.elm
new file mode 100644
index 0000000..8452efa
--- /dev/null
+++ b/src/Model/Color.elm
@@ -0,0 +1,22 @@
+module Model.Color
+ ( Color
+ , htmlOutput
+ , mergeColors
+ ) where
+
+type alias Color =
+ { red : Int
+ , green : Int
+ , blue : Int
+ }
+
+htmlOutput : Color -> String
+htmlOutput color = "rgb(" ++ (toString color.red) ++ ", " ++ (toString color.green) ++ ", " ++ (toString color.blue) ++ ")"
+
+mergeColors : Float -> Color -> Color -> Color
+mergeColors ratio c1 c2 =
+ let mergePart x y = truncate (ratio * (toFloat x) + (1 - ratio) * (toFloat y))
+ in { red = mergePart c1.red c2.red
+ , green = mergePart c1.green c2.green
+ , blue = mergePart c1.blue c2.blue
+ }