Bug 20489 Configure illegal file characters https://bugzilla.wikimedia.org/show_bug...
[mediawiki.git] / js2 / mwEmbed / libClipEdit / pixastic-lib / actions / coloradjust.js
blobdfcb271cbb66b9c938a39e93adaac2066b488c16
1 /*
2  * Pixastic Lib - Color adjust filter - v0.1.0
3  * Copyright (c) 2008 Jacob Seidelin, jseidelin@nihilogic.dk, http://blog.nihilogic.dk/
4  * MIT License [http://www.opensource.org/licenses/mit-license.php]
5  */
7 Pixastic.Actions.coloradjust = {
9         process : function(params) {
10                 var red = parseFloat(params.options.red) || 0;
11                 var green = parseFloat(params.options.green) || 0;
12                 var blue = parseFloat(params.options.blue) || 0;
14                 red = Math.round(red*255);
15                 green = Math.round(green*255);
16                 blue = Math.round(blue*255);
18                 if (Pixastic.Client.hasCanvasImageData()) {
19                         var data = Pixastic.prepareData(params);
20                         var rect = params.options.rect;
21                         var w = rect.width;
22                         var h = rect.height;
23                         var w4 = w*4;
24                         var y = h;
25                         do {
26                                 var offsetY = (y-1)*w4;
27                                 var x = w;
28                                 do {
29                                         var offset = offsetY + (x-1)*4;
31                                         var r = data[offset] + red;
32                                         var g = data[offset+1] + green;
33                                         var b = data[offset+2] + blue;
35                                         if (r < 0 ) r = 0;
36                                         if (g < 0 ) g = 0;
37                                         if (b < 0 ) b = 0;
38                                         if (r > 255 ) r = 255;
39                                         if (g > 255 ) g = 255;
40                                         if (b > 255 ) b = 255;
42                                         data[offset] = r;
43                                         data[offset+1] = g;
44                                         data[offset+2] = b;
46                                 } while (--x);
47                         } while (--y);
48                         return true;
49                 }
50         },
51         checkSupport : function() {
52                 return (Pixastic.Client.hasCanvasImageData());
53         }