Revision: 35879
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35879
Author:   campbellbarton
Date:     2011-03-29 14:36:55 +0000 (Tue, 29 Mar 2011)
Log Message:
-----------
use less verbose string formatting for units and interface.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/unit.c
    trunk/blender/source/blender/editors/interface/interface.c

Modified: trunk/blender/source/blender/blenkernel/intern/unit.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/unit.c       2011-03-29 
14:13:11 UTC (rev 35878)
+++ trunk/blender/source/blender/blenkernel/intern/unit.c       2011-03-29 
14:36:55 UTC (rev 35879)
@@ -344,9 +344,7 @@
 
        /* Convert to a string */
        {
-               char conv_str[6] = {'%', '.', '0', 'l', 'f', '\0'}; /* "%.2lf" 
when prec is 2, must be under 10 */
-               conv_str[2] += prec;
-               len= snprintf(str, len_max, conv_str, (float)value_conv);
+               len= snprintf(str, len_max, "%.*lf", prec, value_conv);
 
                if(len >= len_max)
                        len= len_max;

Modified: trunk/blender/source/blender/editors/interface/interface.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface.c  2011-03-29 
14:13:11 UTC (rev 35878)
+++ trunk/blender/source/blender/editors/interface/interface.c  2011-03-29 
14:36:55 UTC (rev 35879)
@@ -1528,18 +1528,13 @@
                        if(ui_is_but_unit(but)) {
                                ui_get_but_string_unit(but, str, maxlen, value, 
0);
                        }
-                       else if(but->a2) { /* amount of digits defined */
-                               if(but->a2==1) BLI_snprintf(str, maxlen, 
"%.1f", value);
-                               else if(but->a2==2) BLI_snprintf(str, maxlen, 
"%.2f", value);
-                               else if(but->a2==3) BLI_snprintf(str, maxlen, 
"%.3f", value);
-                               else if(but->a2==4) BLI_snprintf(str, maxlen, 
"%.4f", value);
-                               else if(but->a2==5) BLI_snprintf(str, maxlen, 
"%.5f", value);
-                               else if(but->a2==6) BLI_snprintf(str, maxlen, 
"%.6f", value);
-                               else if(but->a2==7) BLI_snprintf(str, maxlen, 
"%.7f", value);
-                               else BLI_snprintf(str, maxlen, "%.4f", value);
+                       else {
+                               int prec= (int)but->a2;
+                               if(prec==0) prec= 3;
+                               else CLAMP(prec, 1, 7);
+
+                               BLI_snprintf(str, maxlen, "%.*f", prec, value);
                        }
-                       else
-                               BLI_snprintf(str, maxlen, "%.3f", value);
                }
                else
                        BLI_snprintf(str, maxlen, "%d", (int)value);
@@ -1997,19 +1992,12 @@
                                ui_get_but_string_unit(but, new_str, 
sizeof(new_str), value, TRUE);
                                BLI_snprintf(but->drawstr, 
sizeof(but->drawstr), "%s%s", but->str, new_str);
                        }
-                       else if(but->a2) { /* amount of digits defined */
-                               if(but->a2==1) sprintf(but->drawstr, "%s%.1f", 
but->str, value);
-                               else if(but->a2==2) sprintf(but->drawstr, 
"%s%.2f", but->str, value);
-                               else if(but->a2==3) sprintf(but->drawstr, 
"%s%.3f", but->str, value);
-                               else if(but->a2==4) sprintf(but->drawstr, 
"%s%.4f", but->str, value);
-                               else if(but->a2==5) sprintf(but->drawstr, 
"%s%.5f", but->str, value);
-                               else if(but->a2==6) sprintf(but->drawstr, 
"%s%.6f", but->str, value);
-                               else if(but->a2==7) sprintf(but->drawstr, 
"%s%.7f", but->str, value);
-                               else sprintf(but->drawstr, "%s%.4f", but->str, 
value);
-                       }
                        else {
-                               if(but->hardmax<10.001f) sprintf(but->drawstr, 
"%s%.3f", but->str, value);
-                               else sprintf(but->drawstr, "%s%.2f", but->str, 
value);
+                               int prec= (int)but->a2;
+                               if(prec==0) prec= (but->hardmax < 10.001f) ? 3 
: 2;
+                               else CLAMP(prec, 1, 7);
+
+                               BLI_snprintf(but->drawstr, 
sizeof(but->drawstr), "%s%.*f", but->str, prec, value);
                        }
                }
                else {
@@ -2026,22 +2014,16 @@
 
        case LABEL:
                if(ui_is_but_float(but)) {
+                       int prec= (int)but->a2;
                        value= ui_get_but_val(but);
-                       if(but->a2) { /* amount of digits defined */
-                               if(but->a2==1) sprintf(but->drawstr, "%s%.1f", 
but->str, value);
-                               else if(but->a2==2) sprintf(but->drawstr, 
"%s%.2f", but->str, value);
-                               else if(but->a2==3) sprintf(but->drawstr, 
"%s%.3f", but->str, value);
-                               else if(but->a2==4) sprintf(but->drawstr, 
"%s%.4f", but->str, value);
-                               else if(but->a2==5) sprintf(but->drawstr, 
"%s%.5f", but->str, value);
-                               else if(but->a2==6) sprintf(but->drawstr, 
"%s%.6f", but->str, value);
-                               else if(but->a2==7) sprintf(but->drawstr, 
"%s%.7f", but->str, value);
-                               else sprintf(but->drawstr, "%s%.4f", but->str, 
value);
-                       }
-                       else {
-                               sprintf(but->drawstr, "%s%.2f", but->str, 
value);
-                       }
+                       if(prec==0) prec= 3;
+                       else CLAMP(prec, 1, 7);
+
+                       BLI_snprintf(but->drawstr, sizeof(but->drawstr), 
"%s%.*f", but->str, prec, value);
                }
-               else strncpy(but->drawstr, but->str, UI_MAX_DRAW_STR);
+               else {
+                       strncpy(but->drawstr, but->str, UI_MAX_DRAW_STR);
+               }
                
                break;
 

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to