[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35879] trunk/blender/source/blender: use less verbose string formatting for units and interface.
Campbell Barton
ideasman42 at gmail.com
Tue Mar 29 16:36:56 CEST 2011
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;
More information about the Bf-blender-cvs
mailing list