aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/ProgressRenderer.h
blob: a66c73fbd97ab5f55f252877e6977b9cb226690d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#pragma once
#include "..\Minecraft.World\ProgressListener.h"

class ProgressRenderer : public ProgressListener
{
public:
	enum eProgressStringType
	{
		eProgressStringType_ID,
		eProgressStringType_String, // 4J-PB added for updating the bytes read on a save transfer
	};

	static CRITICAL_SECTION s_progress;

	int getCurrentPercent();
	int getCurrentTitle();
	int getCurrentStatus();
	wstring& getProgressString(void);
	ProgressRenderer::eProgressStringType getType();

private:
	int lastPercent;

private:
	int status;
    Minecraft *minecraft;
    int title;
    int64_t lastTime;
    bool noAbort;
	wstring m_wstrText;
	eProgressStringType m_eType;

	void setType(eProgressStringType eType);

public:
	ProgressRenderer(Minecraft *minecraft);
    virtual void progressStart(int title);
    virtual void progressStartNoAbort(int string);
    void _progressStart(int title);
	virtual void progressStage(int status);
	virtual void progressStage(wstring &wstrText);
    virtual void progressStagePercentage(int i);
};