#ifndef _GLIFE_GLIFESTATE_H
#define _GLIFE_GLIFESTATE_H
const int32 kDefGridWidth = 60;
const int32 kDefGridHeight = 40;
const int32 kDefGridBorder = 0;
const int32 kDefGridDelay = 2;
class GLifeState
{
private:
int32 fGridWidth;
int32 fGridHeight;
int32 fGridBorder;
int32 fGridDelay;
public:
GLifeState( void ) : fGridWidth(kDefGridWidth),
fGridHeight(kDefGridHeight),
fGridBorder(kDefGridBorder),
fGridDelay(kDefGridDelay) { };
status_t SaveState(BMessage* pbmPrefs) const {
pbmPrefs->AddInt32("gridWidth", fGridWidth);
pbmPrefs->AddInt32("gridHeight", fGridHeight);
pbmPrefs->AddInt32("gridBorder", fGridBorder);
pbmPrefs->AddInt32("gridDelay", fGridDelay);
return B_OK;
};
void RestoreState( BMessage* pbmPrefs )
{
if (pbmPrefs->FindInt32("gridWidth", &fGridWidth) != B_OK)
fGridWidth = kDefGridWidth;
if (pbmPrefs->FindInt32("gridHeight", &fGridHeight) != B_OK)
fGridHeight = kDefGridHeight;
if (pbmPrefs->FindInt32("gridBorder", &fGridBorder) != B_OK)
fGridBorder = kDefGridBorder;
if (pbmPrefs->FindInt32("gridDelay", &fGridDelay) != B_OK)
fGridDelay = kDefGridDelay;
};
int32& GridWidth(void) { return fGridWidth; };
int32& GridHeight(void) { return fGridHeight; };
int32& GridBorder(void) { return fGridBorder; };
int32& GridDelay(void) { return fGridDelay; };
};
#endif