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