Chromium Code Reviews| Index: ui/base/text/bytes_formatting.h |
| diff --git a/ui/base/text/bytes_formatting.h b/ui/base/text/bytes_formatting.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..7df366d360fb5a7c7c00bca547ab0f0390030fb4 |
| --- /dev/null |
| +++ b/ui/base/text/bytes_formatting.h |
| @@ -0,0 +1,44 @@ |
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef UI_BASE_TEXT_BYTES_FORMATTING_H_ |
| +#define UI_BASE_TEXT_BYTES_FORMATTING_H_ |
| +#pragma once |
| + |
| +#include "base/basictypes.h" |
| +#include "base/string16.h" |
| + |
| +namespace ui { |
| + |
| +enum DataUnits { |
| + DATA_UNITS_NATURAL = -1, |
| + DATA_UNITS_BYTE = 0, |
| + DATA_UNITS_KIBIBYTE, |
| + DATA_UNITS_MEBIBYTE, |
| + DATA_UNITS_GIBIBYTE, |
| + DATA_UNITS_TEBIBYTE, |
| + DATA_UNITS_PEBIBYTE |
| +}; |
| + |
| +// Return the unit type that is appropriate for displaying the amount of bytes |
| +// passed in. Most of the time, an explicit call to this isn't necessary; just |
| +// use the DATA_UNITS_NATURAL argument to FormatBytes()/FormatSpeed(). |
| +DataUnits GetByteDisplayUnits(int64 bytes); |
| + |
| +// Return a byte string in human-readable format with an optional unit suffix. |
| +// Specify a |units| argument to explictly request the units to be used, or pass |
| +// in DATA_UNITS_NATURAL to have the units to match the scale of the |bytes| |
| +// argument (the value that GetBytesDisplayUnits() would return). |
| +// Ex: FormatBytes(512, DATA_UNITS_KIBIBYTE, true) => "0.5 KB" |
| +// Ex: FormatBytes(10*1024, DATA_UNITS_MEBIBYTE, false) => "0.1" |
| +string16 FormatBytes(int64 bytes, DataUnits units, bool show_units); |
|
Evan Stade
2011/06/21 03:18:41
I think there should be a version of this function
Avi (use Gerrit)
2011/06/21 14:30:19
As a tweak later, perhaps; for now I think this is
Evan Stade
2011/06/21 22:10:57
I don't think this "tweak" will ever be more relev
Avi (use Gerrit)
2011/06/21 22:20:07
Working on it. Just a moment...
|
| + |
| +// As above, but with "/s" units. |
| +// Ex: FormatSpeed(512, DATA_UNITS_KIBIBYTE, true) => "0.5 KB/s" |
|
Evan Stade
2011/06/21 03:18:41
should the k be lower case?
Avi (use Gerrit)
2011/06/21 14:30:19
Done.
|
| +// Ex: FormatSpeed(10*1024, DATA_UNITS_MEBIBYTE, false) => "0.1" |
| +string16 FormatSpeed(int64 bytes, DataUnits units, bool show_units); |
| + |
| +} // namespace ui |
| + |
| +#endif // UI_BASE_TEXT_BYTES_FORMATTING_H_ |