Mercurial > hg > digilib-old
comparison webapp/src/main/webapp/jquery/jquery.digilib.sliders.js @ 1066:555f6f0d6be5
prepare for making rgb indicator an independent widget
author | hertzhaft |
---|---|
date | Mon, 02 Apr 2012 08:19:21 +0200 |
parents | 897f0560af46 |
children | 788c757d7f70 |
comparison
equal
deleted
inserted
replaced
1065:897f0560af46 | 1066:555f6f0d6be5 |
---|---|
103 } | 103 } |
104 }; | 104 }; |
105 | 105 |
106 var indicators = { | 106 var indicators = { |
107 brgt : function ($slider, value) { | 107 brgt : function ($slider, value) { |
108 // TODO: replace with call to setIndicatorValues() | |
108 var brgt = parseFloat(value); | 109 var brgt = parseFloat(value); |
109 var cls = $slider.data('cls'); | 110 var cls = $slider.data('cls'); |
110 var $ind = $slider.data('indicator'); | 111 var $ind = $slider.data('indicator'); |
111 var $td = $ind.find('table.'+cls+'indicator td'); | 112 var $td = $ind.find('table.'+cls+'indicator td'); |
112 var setBgColor = function (index) { | 113 var setBgColor = function (index) { |
113 var val = index * 32; | 114 var val = index * 32; |
114 var grey = Math.min(Math.max(Math.round(val + brgt), 0), 255); | 115 var grey = Math.min(Math.max(Math.round(val + brgt), 0), 255); |
115 $(this).css('background-color', 'rgb('+grey+','+grey+','+grey+')'); | 116 $(this).css('background-color', 'rgb('+grey+','+grey+','+grey+')'); |
116 }; | 117 }; |
117 $td.each(setBgColor); | 118 $td.each(setBgColor); |
118 }, | 119 }, |
119 | 120 |
120 cont : function ($slider, value) { | 121 cont : function ($slider, value) { |
122 // TODO: replace with call to setIndicatorValues() | |
121 var cont = parseFloat(value); | 123 var cont = parseFloat(value); |
122 var cls = $slider.data('cls'); | 124 var cls = $slider.data('cls'); |
123 var $ind = $slider.data('indicator'); | 125 var $ind = $slider.data('indicator'); |
124 var $td = $ind.find('table.'+cls+'indicator td'); | 126 var $td = $ind.find('table.'+cls+'indicator td'); |
125 var setBgColor = function (index) { | 127 var setBgColor = function (index) { |
126 var val = index * 32; | 128 var val = index * 32; |
127 var grey = Math.min(Math.max(Math.round(Math.pow(2, cont) * val), 0), 255); | 129 var grey = Math.min(Math.max(Math.round(Math.pow(2, cont) * val), 0), 255); |
128 $(this).css('background-color', 'rgb('+grey+','+grey+','+grey+')'); | 130 $(this).css('background-color', 'rgb('+grey+','+grey+','+grey+')'); |
129 }; | 131 }; |
130 $td.each(setBgColor); | 132 $td.each(setBgColor); |
131 } | 133 }, |
132 }; | 134 |
135 rgb : function ($slider, value) { | |
136 // TODO: replace with call to setIndicatorValues() | |
137 var val = parseFloat(value); | |
138 var cls = $slider.data('cls'); | |
139 var $ind = $slider.data('indicator'); | |
140 var $td = $ind.find('table.'+cls+'indicator td'); | |
141 var setRGBValue = function (index) { | |
142 var val = index * 32; | |
143 var r = Math.min(Math.max(Math.round(Math.pow(2, rm) * val + ra), 0), 255); | |
144 var g = Math.min(Math.max(Math.round(Math.pow(2, gm) * val + ga), 0), 255); | |
145 var b = Math.min(Math.max(Math.round(Math.pow(2, bm) * val + ba), 0), 255); | |
146 $(this).css('background-color', 'rgb('+r+','+g+','+b+')'); | |
147 }; | |
148 $td.each(setRGBValue); | |
149 } | |
150 }; | |
151 | |
152 // set indicator values | |
153 var setIndicatorValues = function ($slider) { | |
154 var cls = $slider.data('cls'); | |
155 var $ind = $slider.data('indicator'); | |
156 var $td1 = $div.find('table.'+cls+'grey td'); | |
157 var $td2 = $ind.find('table.'+cls+'indicator td'); | |
158 var setGreyScale = function (index) { | |
159 // sets a series of grey values | |
160 var val = index * 32; | |
161 $(this).css('background-color', 'rgb('+val+','+val+','+val+')'); | |
162 }; | |
163 // TODO: account for current brgt/cont/rgbm/rgba values | |
164 var setRGBValue = function (index) { | |
165 var val = index * 32; | |
166 var r = Math.min(Math.max(Math.round(Math.pow(2, rm) * val + ra), 0), 255); | |
167 var g = Math.min(Math.max(Math.round(Math.pow(2, gm) * val + ga), 0), 255); | |
168 var b = Math.min(Math.max(Math.round(Math.pow(2, bm) * val + ba), 0), 255); | |
169 $(this).css('background-color', 'rgb('+r+','+g+','+b+')'); | |
170 }; | |
171 $td1.each(setGreyScale); | |
172 $td2.each(setRGBValue); | |
173 }; | |
174 | |
133 // assign button actions to sliders (rotate, brightness, contrast) | 175 // assign button actions to sliders (rotate, brightness, contrast) |
134 var setButtonActions = function () { | 176 var setButtonActions = function () { |
135 if (fn.setButtonAction == null) { | 177 if (fn.setButtonAction == null) { |
136 console.debug('sliders: could not assign button actions. Maybe jquery.digilib.buttons.js was not loaded?'); | 178 console.debug('sliders: could not assign button actions. Maybe jquery.digilib.buttons.js was not loaded?'); |
137 return; | 179 return; |
392 <table class="'+cls+'indicator">\ | 434 <table class="'+cls+'indicator">\ |
393 <tr>'+td+'</tr>\ | 435 <tr>'+td+'</tr>\ |
394 </table>\ | 436 </table>\ |
395 </div>'; | 437 </div>'; |
396 var $div = $(html); | 438 var $div = $(html); |
439 // TODO: replace with setRGBValue | |
397 var setGreyScale = function (index) { | 440 var setGreyScale = function (index) { |
398 // sets a series of grey values | 441 // sets a series of grey values |
399 var val = index * 32; | 442 var val = index * 32; |
400 $(this).css('background-color', 'rgb('+val+','+val+','+val+')'); | 443 $(this).css('background-color', 'rgb('+val+','+val+','+val+')'); |
401 }; | 444 }; |