mirror of
https://github.com/autc04/Retro68.git
synced 2024-11-28 21:49:33 +00:00
56 lines
1.1 KiB
C++
56 lines
1.1 KiB
C++
#include <MacTypes.h>
|
|
#include <Windows.h>
|
|
#include <TextUtils.h>
|
|
|
|
enum class AppStatus
|
|
{
|
|
empty = 0,
|
|
readyModem = 1,
|
|
readyPrinter,
|
|
downloading,
|
|
upgrading,
|
|
running,
|
|
uploading
|
|
};
|
|
|
|
class StatusDisplay
|
|
{
|
|
WindowPtr statusWindow;
|
|
Str255 statusString = "\p";
|
|
AppStatus status = AppStatus::empty;
|
|
int progressDone, progressTotal = 0;
|
|
long freeMem;
|
|
long startTime;
|
|
long speed = -1;
|
|
long timeRemaining = -1;
|
|
int errorCount = -1;
|
|
|
|
RgnHandle background;
|
|
Rect statusRect;
|
|
Rect progressRect;
|
|
|
|
static const int nValues = 7;
|
|
Rect valueRects[nValues];
|
|
short columnWidths[6];
|
|
|
|
enum class Stat : short;
|
|
|
|
void DrawValue(Stat stat, ConstStr255Param str);
|
|
void DrawValue(Stat stat, long val);
|
|
void Inval(const Rect& r);
|
|
|
|
public:
|
|
StatusDisplay();
|
|
~StatusDisplay();
|
|
|
|
WindowPtr GetWindow() { return statusWindow; }
|
|
void Update();
|
|
|
|
void Idle();
|
|
|
|
void SetStatus(AppStatus s);
|
|
void SetProgress(int done = 0, int total = 0);
|
|
void SetStatus(AppStatus stat, int done, int total);
|
|
void SetErrorCount(int errorCount);
|
|
};
|