Imported Upstream version 9.20
[platform/upstream/7zip.git] / CPP / 7zip / UI / Console / PercentPrinter.h
1 // PercentPrinter.h\r
2 \r
3 #ifndef __PERCENTPRINTER_H\r
4 #define __PERCENTPRINTER_H\r
5 \r
6 #include "Common/Types.h"\r
7 #include "Common/StdOutStream.h"\r
8 \r
9 class CPercentPrinter\r
10 {\r
11   UInt64 m_MinStepSize;\r
12   UInt64 m_PrevValue;\r
13   UInt64 m_CurValue;\r
14   UInt64 m_Total;\r
15   int m_NumExtraChars;\r
16 public:\r
17   CStdOutStream *OutStream;\r
18 \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
26   void ClosePrint();\r
27   void RePrintRatio();\r
28   void PrintRatio();\r
29 };\r
30 \r
31 #endif\r