summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/ui
diff options
context:
space:
mode:
authorJulie Lala <jules@okfoc.us>2014-10-16 02:21:46 -0400
committerJulie Lala <jules@okfoc.us>2014-10-16 02:33:59 -0400
commitc13532ec95c2d410354f7d342df70fd68dd78272 (patch)
tree490509cee5ea68196c81c67fb8af5c6fea06e0d1 /public/assets/javascripts/ui
parent513a272520222784d67dc22c1ac833aa47a9c844 (diff)
matrix mode
Diffstat (limited to 'public/assets/javascripts/ui')
-rw-r--r--public/assets/javascripts/ui/editor/ColorControl.js21
-rw-r--r--public/assets/javascripts/ui/editor/Presets.js39
2 files changed, 52 insertions, 8 deletions
diff --git a/public/assets/javascripts/ui/editor/ColorControl.js b/public/assets/javascripts/ui/editor/ColorControl.js
index 26358f1..61a7ef6 100644
--- a/public/assets/javascripts/ui/editor/ColorControl.js
+++ b/public/assets/javascripts/ui/editor/ColorControl.js
@@ -4,9 +4,10 @@ var ColorControl = View.extend({
events: {
"mousedown": "stopPropagation",
- "click .color-swatches span": "select",
"mousedown #brightness-control": "beginBrightness",
"input #brightness-control": "updateBrightness",
+ "click .color-swatches span": "setSurface",
+ "click .colors span": "setHue",
},
colors: [
@@ -48,16 +49,15 @@ var ColorControl = View.extend({
$swatch.css("background-color","rgb(" + color + ")")
$swatch.data('color', color)
this.$colors.append($swatch)
- }.bind(this))
-
+ }.bind(this))
},
modes: [ "wall", "outline", "floor", "ceiling" ],
load: function(data){
this.modes.forEach(function(mode){
- Walls.setColor[mode](data[mode])
- this.$swatch[ mode ].css("background-color", rgb_string(data[mode]))
+ Walls.setColor[mode](data[mode])
+ this.$swatch[ mode ].css("background-color", rgb_string(data[mode]))
}.bind(this))
this.setMode("wall")
},
@@ -134,11 +134,20 @@ var ColorControl = View.extend({
this.$brightnessControl.val( this.labColor[0] )
},
- select: function(e){
+ setSurface: function(e){
var mode = $('.swatch', e.currentTarget).data('mode')
this.setMode(mode)
},
+ setHue: function(e){
+ var color = $(e.currentTarget).data('color')
+
+ this.labColor = this.colorPicker.load(color)
+ this.$brightnessControl.val( this.labColor[0] )
+
+ this.pick(color, this.labColor)
+ },
+
beginBrightness: function(){
this.begin()
$(window).one("mouseup", this.finalize.bind(this))
diff --git a/public/assets/javascripts/ui/editor/Presets.js b/public/assets/javascripts/ui/editor/Presets.js
index a3dc610..c34c826 100644
--- a/public/assets/javascripts/ui/editor/Presets.js
+++ b/public/assets/javascripts/ui/editor/Presets.js
@@ -19,8 +19,9 @@ var Presets = View.extend({
outline: [0,0,0],
floor: [109,116,106],
ceiling: [159,163,157],
+ background: [109,116,106],
},
- pfunk: {
+ "p.funk": {
wall: [255,63,78],
outline: [255,246,0],
floor: [255,255,0],
@@ -32,10 +33,24 @@ var Presets = View.extend({
floor: [0,0,0],
ceiling: [0,0,0],
},
+ matrix: {
+ wall: { src: "http://bibleway.biz/images/Matrix1.gif", scale: 4.0, color: [0,0,0] },
+ outline: [0,0,0],
+ floor: [10,15,10],
+ ceiling: [0,0,0],
+ },
},
initialize: function(opt){
this.parent = opt.parent
+
+ this.$presets = this.$(".presets")
+ _.keys(this.presets).forEach(function(name){
+ var $swatch = $("<span>")
+ $swatch.html(capitalize(name))
+ $swatch.data('preset', name)
+ this.$presets.append($swatch)
+ }.bind(this))
},
toggle: function(state){
@@ -54,9 +69,9 @@ var Presets = View.extend({
selectPreset: function(e){
var preset = $(e.currentTarget).data('preset')
if (! this.presets[preset]) return
- this.parent.colorControl.load(this.presets[preset])
this.$(".active").removeClass('active')
$(e.currentTarget).addClass('active')
+ this.load(this.presets[preset])
},
selectColor: function(e){
@@ -64,4 +79,24 @@ var Presets = View.extend({
console.log(preset)
},
+ lastPreset: {wall:[1],outline:[1],floor:[1],ceiling:[1]},
+ load: function(preset){
+ this.parent.colorControl.modes.forEach(function(mode){
+ if (! preset[mode].length) {
+ Walls.setWallpaper[mode](preset[mode])
+ Walls.setColor[mode](preset[mode].color)
+ }
+ else {
+ if (! this.lastPreset[mode].length) {
+ Walls.clearWallpaper[mode]()
+ }
+ Walls.setColor[mode](preset[mode])
+ this.parent.colorControl.$swatch[ mode ].css("background-color", rgb_string(preset[mode]))
+ }
+ }.bind(this))
+ this.parent.colorControl.setMode(preset.wall.color ? "wall" : "floor")
+ Walls.setBodyColor()
+ this.lastPreset = preset
+ },
+
}) \ No newline at end of file