Enlightenment CVS committal

Author  : rbdpngn
Project : e17
Module  : libs/ewl

Dir     : e17/libs/ewl/src


Modified Files:
        ewl_spectrum.c 


Log Message:
Add a mode to the spectrum for arbitrary color base.

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_spectrum.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- ewl_spectrum.c      20 Apr 2004 21:20:22 -0000      1.6
+++ ewl_spectrum.c      27 Jul 2004 15:03:49 -0000      1.7
@@ -37,7 +37,7 @@
        ewl_callback_append(w, EWL_CALLBACK_CONFIGURE,
                            ewl_spectrum_configure_cb, NULL);
 
-       sp->mode = PICK_MODE_HSV_HUE;
+       sp->mode = EWL_PICK_MODE_HSV_HUE;
        sp->dimensions = 2;
        sp->redraw = 1;
        sp->r = 255;
@@ -170,33 +170,38 @@
 
                                a = 255;
 
-                               if (pick_mode == PICK_MODE_RGB_RED) {
+                               if (pick_mode == EWL_PICK_MODE_RGB) {
+                                       r = red * (1 - (float) j / (float) ph);
+                                       g = green * (1 - (float) j / (float) ph);
+                                       b = blue * (1 - (float) j / (float) ph);
+                               }
+                               else if (pick_mode == EWL_PICK_MODE_RGB_RED) {
                                        r = red;
                                        g = 255 * (float) i / (float) pw;
                                        b = 255 * (float) j / (float) ph;
-                               } else if (pick_mode == PICK_MODE_RGB_GREEN) {
+                               } else if (pick_mode == EWL_PICK_MODE_RGB_GREEN) {
                                        r = 255 * (float) i / (float) pw;
                                        g = green;
                                        b = 255 * (float) j / (float) ph;
-                               } else if (pick_mode == PICK_MODE_RGB_BLUE) {
+                               } else if (pick_mode == EWL_PICK_MODE_RGB_BLUE) {
                                        r = 255 * (float) i / (float) pw;
                                        g = 255 * (float) j / (float) ph;
                                        b = blue;
-                               } else if (pick_mode == PICK_MODE_HSV_HUE) {
+                               } else if (pick_mode == EWL_PICK_MODE_HSV_HUE) {
                                        h = hue;
                                        s = 1 - (float) i / (float) pw;
                                        v = 1 - (float) j / (float) ph;
                                        ewl_spectrum_hsv_to_rgb(h, s, v,
                                                                &r, &g, &b);
                                } else if (pick_mode ==
-                                          PICK_MODE_HSV_SATURATION) {
+                                          EWL_PICK_MODE_HSV_SATURATION) {
                                        h = (float) i / (float) pw *360;
 
                                        s = sat;
                                        v = 1 - (float) j / (float) ph;
                                        ewl_spectrum_hsv_to_rgb(h, s, v,
                                                                &r, &g, &b);
-                               } else if (pick_mode == PICK_MODE_HSV_VALUE) {
+                               } else if (pick_mode == EWL_PICK_MODE_HSV_VALUE) {
                                        h = (float) i / (float) pw *360;
 
                                        s = 1 - (float) j / (float) ph;
@@ -231,29 +236,33 @@
 
                        a = 255;
 
-                       if (pick_mode == PICK_MODE_RGB_RED) {
+                       if (pick_mode == EWL_PICK_MODE_RGB) {
+                               r = red * (1 - (float) j / (float) ph);
+                               g = green * (1 - (float) j / (float) ph);
+                               b = blue * (1 - (float) j / (float) ph);
+                       } else if (pick_mode == EWL_PICK_MODE_RGB_RED) {
                                r = 255 * (1 - (float) j / (float) ph);
                                g = 0;
                                b = 0;
-                       } else if (pick_mode == PICK_MODE_RGB_GREEN) {
+                       } else if (pick_mode == EWL_PICK_MODE_RGB_GREEN) {
                                r = 0;
                                g = 255 * (1 - (float) j / (float) ph);
                                b = 0;
-                       } else if (pick_mode == PICK_MODE_RGB_BLUE) {
+                       } else if (pick_mode == EWL_PICK_MODE_RGB_BLUE) {
                                r = 0;
                                g = 0;
                                b = 255 * (1 - (float) j / (float) ph);
-                       } else if (pick_mode == PICK_MODE_HSV_HUE) {
+                       } else if (pick_mode == EWL_PICK_MODE_HSV_HUE) {
                                h = 360 * (float) j / (float) ph;
                                s = 1.0;
                                v = 1.0;
                                ewl_spectrum_hsv_to_rgb(h, s, v, &r, &g, &b);
-                       } else if (pick_mode == PICK_MODE_HSV_SATURATION) {
+                       } else if (pick_mode == EWL_PICK_MODE_HSV_SATURATION) {
                                h = hue;
                                s = 1 - (float) j / (float) ph;
                                v = val;
                                ewl_spectrum_hsv_to_rgb(h, s, v, &r, &g, &b);
-                       } else if (pick_mode == PICK_MODE_HSV_VALUE) {
+                       } else if (pick_mode == EWL_PICK_MODE_HSV_VALUE) {
                                h = hue;
                                s = sat;
                                v = 1 - (float) j / (float) ph;




-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to