Revision: 32450
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32450
Author:   campbellbarton
Date:     2010-10-13 16:10:42 +0200 (Wed, 13 Oct 2010)

Log Message:
-----------
fix for remaining glitch in square color picker, the backdrop could change 
color because rgb_to_hsv() was used rather then rgb_to_hsv_compat()

Modified Paths:
--------------
    trunk/blender/source/blender/editors/interface/interface_draw.c
    trunk/blender/source/blender/editors/interface/interface_intern.h
    trunk/blender/source/blender/editors/interface/interface_widgets.c

Modified: trunk/blender/source/blender/editors/interface/interface_draw.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_draw.c     
2010-10-13 13:53:49 UTC (rev 32449)
+++ trunk/blender/source/blender/editors/interface/interface_draw.c     
2010-10-13 14:10:42 UTC (rev 32450)
@@ -1404,7 +1404,7 @@
        if (but->a1 != -1) {
                if (but->a1 == UI_GRAD_H) {
                        rcti grid;
-                       float col[3];
+                       float col[3]= {0.0f, 0.0f, 0.0f}; /* dummy arg */
                        
                        grid.xmin = rect->xmin + zoomx*(-offsx);
                        grid.xmax = rect->xmax + zoomx*(-offsx);

Modified: trunk/blender/source/blender/editors/interface/interface_intern.h
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_intern.h   
2010-10-13 13:53:49 UTC (rev 32449)
+++ trunk/blender/source/blender/editors/interface/interface_intern.h   
2010-10-13 14:10:42 UTC (rev 32450)
@@ -444,7 +444,7 @@
 /* interface_draw.c */
 extern void ui_dropshadow(rctf *rct, float radius, float aspect, int select);
 
-void ui_draw_gradient(rcti *rect, float *rgb, int type, float alpha);
+void ui_draw_gradient(rcti *rect, float *hsv, int type, float alpha);
 
 void ui_draw_but_HISTOGRAM(ARegion *ar, uiBut *but, struct uiWidgetColors 
*wcol, rcti *rect);
 void ui_draw_but_WAVEFORM(ARegion *ar, uiBut *but, struct uiWidgetColors 
*wcol, rcti *rect);

Modified: trunk/blender/source/blender/editors/interface/interface_widgets.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_widgets.c  
2010-10-13 13:53:49 UTC (rev 32449)
+++ trunk/blender/source/blender/editors/interface/interface_widgets.c  
2010-10-13 14:10:42 UTC (rev 32450)
@@ -1725,16 +1725,14 @@
 /* ************ custom buttons, old stuff ************** */
 
 /* draws in resolution of 20x4 colors */
-void ui_draw_gradient(rcti *rect, float *rgb, int type, float alpha)
+void ui_draw_gradient(rcti *rect, float *hsv, int type, float alpha)
 {
        int a;
-       float h, s, v;
+       float h= hsv[0], s= hsv[1], v= hsv[0];
        float dx, dy, sx1, sx2, sy;
        float col0[4][3];       // left half, rect bottom to top
        float col1[4][3];       // right half, rect bottom to top
-       
-       rgb_to_hsv(rgb[0], rgb[1], rgb[2], &h, &s, &v);
-       
+
        /* draw series of gouraud rects */
        glShadeModel(GL_SMOOTH);
        
@@ -1860,6 +1858,7 @@
        float rgb[3], h,s,v;
        float x=0.0f, y=0.0f;
        float *hsv= ui_block_hsv_get(but->block);
+       float hsvn[3];
        
        h= hsv[0];
        s= hsv[1];
@@ -1867,8 +1866,12 @@
        
        ui_get_but_vectorf(but, rgb);
        rgb_to_hsv_compat(rgb[0], rgb[1], rgb[2], &h, &s, &v);
+
+       hsvn[0]= h;
+       hsvn[1]= s;
+       hsvn[2]= v;
        
-       ui_draw_gradient(rect, rgb, but->a1, 1.f);
+       ui_draw_gradient(rect, hsvn, but->a1, 1.f);
        
        switch((int)but->a1) {
                case UI_GRAD_SV:


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to