Hey Brent,

Do you mind adding a note in ChangeLog.txt for that?

Thanks,
Glenn

----- Original Message -----
From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, December 04, 2002 5:11 PM
Subject: [DQSD-CVS] dqsd/searches rgb.xml,1.5,1.6


> View the DQSD CVS repository here:
> http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dqsd/
>
> Update of /cvsroot/dqsd/dqsd/searches
> In directory sc8-pr-cvs1:/tmp/cvs-serv21682/searches
>
> Modified Files:
> rgb.xml
> Log Message:
> updated rgb to take hex values as well as more lenient decimal formats
> also show HSL values too
>
> Index: rgb.xml
> ===================================================================
> RCS file: /cvsroot/dqsd/dqsd/searches/rgb.xml,v
> retrieving revision 1.5
> retrieving revision 1.6
> diff -C2 -d -r1.5 -r1.6
> *** rgb.xml 30 Aug 2002 03:24:56 -0000 1.5
> --- rgb.xml 4 Dec 2002 23:11:38 -0000 1.6
> ***************
> *** 2,53 ****
>     <name>RGB to Hexadecimal Conversion</name>
>     <description>
> !     Convert RGB integer values to hexadecimal equivalents.<br/>
> !     <div class="helpboxDescLabels">Example:</div>
>       <table class="helpboxDescTable">
> !   <tr><td>rgb 255110053</td></tr>
>     </table>
>     </description>
>     <category>Functions</category>
> !   <contributor>Monty Scroggins</contributor>
>
>     <script><![CDATA[
> !     function remleadzeros(str)
>       {
> !       while (str.charAt(0) == "0" && str.length > 1) // if has leading zero
(but not just "0")
> !         str= str.substring(1, str.length); // remove any leading zeros
(otherwise assumes octal)
> !       return(parseInt(str));
> !     }
>
> !     function rgb(c)
> !     {
> !     if( nullArgs("rgb",c) )
>           return false;
> !
> !       if (c.length<9 || c.match(/\D/))
> !     {
>           alert("Red Green and Blue values must be between 0 and 255\nwith
leading zeros if needed.\nex - 255034101 = r255 g034 b101");
>           return false;
>         }
> !
> !       //var red=parseInt(c.substr(0,3));
> !       var red=c.substr(0,3);
> !       var grn=c.substr(3,3);
> !       var blu=c.substr(6,3);
> !       red=remleadzeros(red);
> !       grn=remleadzeros(grn);
> !       blu=remleadzeros(blu);
> !       red=red.toString(16);
> !       grn=grn.toString(16);
> !       blu=blu.toString(16);
> !
> !       if (red.length <2)
> !         red = "0" + red;
> !       if (grn.length <2)
> !         grn = "0" + grn;
> !       if (blu.length <2)
> !         blu = "0" + blu;
> !
> !       //document.deff.q.value ="red "+red+" green "+grn+" blue "+blu;
> !       document.deff.q.value ="RGB: "+c+" Hex: "+red+grn+blu;
>       }
>     ]]></script>
> --- 2,169 ----
>     <name>RGB to Hexadecimal Conversion</name>
>     <description>
> !     Convert RGB integer values to hexadecimal equivalents and vice
versa.<br/>
> !     <div class="helpboxDescLabels">Examples:</div>
>       <table class="helpboxDescTable">
> !   <tr><td>rgb 255110053</td><td> - </td><td>Convert decimal rgb number to
hex</td></tr>
> !   <tr><td>rgb 255 110 53</td><td> - </td><td>Convert decimal rgb number to
hex</td></tr>
> !   <tr><td>rgb 255,110,53</td><td> - </td><td>Convert decimal rgb number to
hex</td></tr>
> !   <tr><td>rgb 255.110.53</td><td> - </td><td>Convert decimal rgb number to
hex</td></tr>
> !   <tr><td>rgb 336666</td><td> - </td><td>Convert hex rgb number to
decimal</td></tr>
> !   <tr><td>rgb #336666</td><td> - </td><td>Convert hex rgb number to
decimal</td></tr>
> !   <tr><td>rgb 0x336666</td><td> - </td><td>Convert hex rgb number to
decimal</td></tr>
>     </table>
>     </description>
>     <category>Functions</category>
> !   <contributor>Monty Scroggins, Brent Beardsley</contributor>
>
>     <script><![CDATA[
> !     function rgb(q)
>       {
> !   if (nullArgs("rgb",q))
> !         return false;
>
> !       var red = -1;
> !       var grn = -1;
> !       var blu = -1;
> !
> !       if ( (r = q.match(/^\s*(\d{3})(\d{3})(\d{3})\s*$/)) != null) {
> !         // specified in decimal
> !         red = parseInt(r[1], 10);
> !         grn = parseInt(r[2], 10);
> !         blu = parseInt(r[3], 10);
> !       } else if ( (r =
q.match(/^\s*(\#|0x)?([\dA-Fa-f]{2})([\dA-Fa-f]{2})([\dA-Fa-f]{2})\s*$/)) !=
null) {
> !         // specified in hex
> !         // r[1] is the hex prefix
> !         red = parseInt(r[2], 16);
> !         grn = parseInt(r[3], 16);
> !         blu = parseInt(r[4], 16);
> !       } else if ( (r = q.match(/^\s*(\d+)\W+(\d+)\W+(\d+)\s*$/)) != null) {
> !         // specified in decimal separated by non-digits
> !         red = parseInt(r[1], 10);
> !         grn = parseInt(r[2], 10);
> !         blu = parseInt(r[3], 10);
> !       } else {
> !         // unknown format - show help
> !         nullArgs("rgb", "?");
>           return false;
> !       }
> !       if (red < 0 || red > 255 || grn < 0 || grn > 255 || blu < 0 || blu >
255) {
> !         // invalid rgb values
>           alert("Red Green and Blue values must be between 0 and 255\nwith
leading zeros if needed.\nex - 255034101 = r255 g034 b101");
>           return false;
>         }
> !
> !       var hsl = rgb_to_hsl(red, grn, blu);
> !       var rgbString = "RGB: "+red + " " + grn + " " + blu;
> !       var hexString = "Hex: "+
> !                       ((red < 16) ? "0" : "") +
red.toString(16).toUpperCase() +
> !                       ((grn < 16) ? "0" : "") +
grn.toString(16).toUpperCase() +
> !                       ((blu < 16) ? "0" : "") +
blu.toString(16).toUpperCase();
> !       var hslString = "HSL: "+ hsl[0] + " "+hsl[1]+" "+hsl[2];
> !       document.deff.q.value =rgbString+"  "+hexString+"  "+hslString;
> !     }
> !
> !      // hsl functions adapted from
http://support.microsoft.com/default.aspx?scid=KB;en-us;q29240
> !      // Brent Beardsley 4 Dec 2002
> !     function rgb_to_hsl(r, g, b)
> !     {
> !       var HSLMAX = 255;
> !       var RGBMAX = 255;
> !
> !        var h = -1.0;
> !       var s = -1.0;
> !       var l = -1.0;
> !
> !       var max = Math.max(Math.max(r,g), b);
> !       var min = Math.min(Math.min(r,g), b);
> !       var delta = max-min;
> !
> !       l = Math.round( (max+min)*HSLMAX / (2*RGBMAX) );
> !       if (max == min) {
> !         s = 0.0;
> !         h = NaN;
> !       } else {
> !         if (l <= Math.floor(HSLMAX/2)) {
> !           s = Math.round((delta*HSLMAX) / (max+min));
> !         } else {
> !           s = Math.round((delta*HSLMAX) / (2*RGBMAX-max-min));
> !         }
> !         var rdelta = Math.round((max-r)*Math.floor(HSLMAX/6) / delta);
> !         var gdelta = Math.round((max-g)*Math.floor(HSLMAX/6) / delta);
> !         var bdelta = Math.round((max-b)*Math.floor(HSLMAX/6) / delta);
> !
> !         if (r == max) {
> !           h = bdelta - gdelta;
> !         } else if (g == max) {
> !           h = Math.floor(HSLMAX/3) + rdelta - bdelta;
> !         } else {
> !           h = Math.floor((2*HSLMAX)/3) + gdelta - rdelta;
> !         }
> !         if (h < 0) {
> !           h += HSLMAX;
> !         } else if (h > HSLMAX) {
> !           h -= HSLMAX;
> !         }
> !       }
> ! //      alert("h: "+h+", s: "+s+", l: "+l);
> !       return new Array(Math.round(h), Math.round(s), Math.round(l));
> !     }
> !
> !     function hue_to_rgb(n1, n2, hue)
> !     {
> !       var HSLMAX = 255;
> !       var RGBMAX = 255;
> !
> !       if (hue < 0)
> !         hue += HSLMAX;
> !
> !       if (hue > HSLMAX)
> !         hue -= HSLMAX;
> !
> !       if (hue < Math.floor(HSLMAX/6)) {
> ! //        alert("hue_to_rgb: 1");
> !         return ( n1 + Math.round( (n2-n1)*hue/Math.floor(HSLMAX/6)));
> !       } else if (hue < Math.floor(HSLMAX/2)) {
> ! //        alert("hue_to_rgb: 2");
> !         return n2;
> !       } else if (hue < Math.floor((HSLMAX*2)/3)) {
> ! //        alert("hue_to_rgb: 3");
> !         return ( n1 +
Math.round((n2-n1)*(((HSLMAX*2)/3)-hue)/Math.floor(HSLMAX/6)) );
> !       } else {
> ! //        alert("hue_to_rgb: 4");
> !         return n1;
> !       }
> !     }
> !
> !     function hsl_to_rgb(h, s, l)
> !     {
> !       var HSLMAX = 255;
> !       var RGBMAX = 255;
> !
> !       var r = NaN;
> !       var g = NaN;
> !       var b = NaN;
> !       var magic1 = NaN;
> !       var magic2 = NaN;
> !
> !       if (s == 0) {
> !         r = (l*RGBMAX)/HSLMAX;
> !         g = (l*RGBMAX)/HSLMAX;
> !         b = (l*RGBMAX)/HSLMAX;
> !       } else {
> !         if (l <= Math.floor(HSLMAX/2)) {
> !           magic2 = Math.round(l*(HSLMAX + s) / HSLMAX);
> !         } else {
> !           magic2 = l+s - Math.round((l*s)/HSLMAX);
> !         }
> !         magic1 = 2*l-magic2;
> !
> !         r = Math.round(hue_to_rgb(magic1, magic2,
h+Math.floor(HSLMAX/3))*RGBMAX/HSLMAX);
> !         g = Math.round(hue_to_rgb(magic1, magic2, h)*RGBMAX/HSLMAX);
> !         b = Math.round(hue_to_rgb(magic1, magic2,
h-Math.floor(HSLMAX/3))*RGBMAX/HSLMAX);
> !
> !       }
> ! //      alert("r: "+r+", g: "+g+", b: "+b);
> !       return new Array(r,g,b);
>       }
>     ]]></script>
>
>
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: Microsoft Visual Studio.NET
> comprehensive development tool, built to increase your
> productivity. Try a free online hosted session at:
> http://ads.sourceforge.net/cgi-bin/redirect.pl?micr0003en
> _______________________________________________
> DQSD-CVS mailing list
> https://lists.sourceforge.net/lists/listinfo/dqsd-cvs
> DQSD CVS repository:
> http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dqsd/



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
DQSD-Devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dqsd-devel

Reply via email to