parent
a0734ef3f9
commit
ec343e07e4
3 changed files with 46 additions and 8 deletions
|
@ -645,10 +645,36 @@ AboutDialog::AboutDialog(NewGui *gui, Scumm *scumm)
|
|||
|
||||
#pragma mark -
|
||||
|
||||
PauseDialog::PauseDialog(NewGui *gui, Scumm *scumm)
|
||||
: ScummDialog(gui, scumm, 35, 80, 250, 16)
|
||||
InfoDialog::InfoDialog(NewGui *gui, Scumm *scumm, int res)
|
||||
: ScummDialog(gui, scumm, 0, 80, 0, 16) // dummy x and w
|
||||
{
|
||||
setInfoText(queryResString (res));
|
||||
}
|
||||
|
||||
InfoDialog::InfoDialog(NewGui *gui, Scumm *scumm, const String& message)
|
||||
: ScummDialog(gui, scumm, 0, 80, 0, 16) // dummy x and w
|
||||
{
|
||||
setInfoText(message);
|
||||
}
|
||||
|
||||
void InfoDialog::setInfoText(const String& message)
|
||||
{
|
||||
int width = _gui->getStringWidth(message.c_str()) + 16;
|
||||
|
||||
_x = (_scumm->_realWidth - width) >> 1;
|
||||
_w = width;
|
||||
|
||||
new StaticTextWidget(this, 4, 4, _w-8, _h, message, kTextAlignCenter);
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
|
||||
|
||||
#pragma mark -
|
||||
|
||||
PauseDialog::PauseDialog(NewGui *gui, Scumm *scumm)
|
||||
: InfoDialog(gui, scumm, 10)
|
||||
{
|
||||
addResText(4, 4, 250-8, 16, 10);
|
||||
}
|
||||
|
||||
#ifdef _WIN32_WCE
|
||||
|
|
|
@ -109,9 +109,12 @@ protected:
|
|||
CheckboxWidget *amigaPalCheckbox;
|
||||
};
|
||||
|
||||
class PauseDialog : public ScummDialog {
|
||||
class InfoDialog : public ScummDialog {
|
||||
public:
|
||||
PauseDialog(NewGui *gui, Scumm *scumm);
|
||||
// arbitrary message
|
||||
InfoDialog(NewGui *gui, Scumm *scumm, const String& message);
|
||||
// from resources
|
||||
InfoDialog(NewGui *gui, Scumm *scumm, int res);
|
||||
|
||||
virtual void handleMouseDown(int x, int y, int button, int clickCount)
|
||||
{ close(); }
|
||||
|
@ -122,6 +125,13 @@ public:
|
|||
else
|
||||
ScummDialog::handleKeyDown(key, modifiers);
|
||||
}
|
||||
protected:
|
||||
void setInfoText (const String& message);
|
||||
};
|
||||
|
||||
class PauseDialog : public InfoDialog {
|
||||
public:
|
||||
PauseDialog(NewGui *gui, Scumm *scumm);
|
||||
};
|
||||
|
||||
#ifdef _WIN32_WCE
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#include "stdafx.h"
|
||||
#include "scumm.h"
|
||||
#include "actor.h"
|
||||
#include "dialogs.h"
|
||||
#include "scumm/sound.h"
|
||||
|
||||
int CharsetRenderer::getStringWidth(int arg, byte *text, int pos)
|
||||
|
@ -170,9 +171,10 @@ void Scumm::unkMessage2()
|
|||
if (_string[3].color == 0)
|
||||
_string[3].color = 4;
|
||||
|
||||
// TODO - it appears the this function should display the given message graphically
|
||||
// to the user in a "dialog" looking like the pause dialog, i.e. a single line.
|
||||
warning("unkMessage2(\"%s\")", buf);
|
||||
InfoDialog* dialog = new InfoDialog(_newgui, this, (char*)buf);
|
||||
runDialog (dialog);
|
||||
delete dialog;
|
||||
|
||||
_messagePtr = tmp;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue