3 #ifndef __PERCENTPRINTER_H
\r
4 #define __PERCENTPRINTER_H
\r
6 #include "Common/Types.h"
\r
7 #include "Common/StdOutStream.h"
\r
9 class CPercentPrinter
\r
11 UInt64 m_MinStepSize;
\r
15 int m_NumExtraChars;
\r
17 CStdOutStream *OutStream;
\r
19 CPercentPrinter(UInt64 minStepSize = 1): m_MinStepSize(minStepSize),
\r
20 m_PrevValue(0), m_CurValue(0), m_Total(1), m_NumExtraChars(0) {}
\r
21 void SetTotal(UInt64 total) { m_Total = total; m_PrevValue = 0; }
\r
22 void SetRatio(UInt64 doneValue) { m_CurValue = doneValue; }
\r
23 void PrintString(const char *s);
\r
24 void PrintString(const wchar_t *s);
\r
25 void PrintNewLine();
\r
27 void RePrintRatio();
\r