Setup menu cleanups (removed warnings, added a 'quit' button)

git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@1865 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
mcmartin
2005-08-29 09:09:24 +00:00
parent ea8a13c0b7
commit aa07b71cc2
2 changed files with 40 additions and 10 deletions
+15 -3
View File
@@ -61,6 +61,7 @@ Widget_DrawToolTips (int numlines, const char **tips)
t.align = ALIGN_CENTER; t.align = ALIGN_CENTER;
t.valign = VALIGN_BOTTOM; t.valign = VALIGN_BOTTOM;
t.CharCount = ~0;
t.baseline.x = r.corner.x + (r.extent.width >> 1); t.baseline.x = r.corner.x + (r.extent.width >> 1);
t.baseline.y = r.corner.y + (r.extent.height - 8 - 8 * numlines); t.baseline.y = r.corner.y + (r.extent.height - 8 - 8 * numlines);
@@ -134,6 +135,9 @@ Widget_DrawMenuScreen (WIDGET *_self, int x, int y)
SetContextFontEffect (oldFontEffect.type, oldFontEffect.from, oldFontEffect.to); SetContextFontEffect (oldFontEffect.type, oldFontEffect.from, oldFontEffect.to);
SetContextFont (oldfont); SetContextFont (oldfont);
SetContextForeGroundColor (oldtext); SetContextForeGroundColor (oldtext);
(void) x;
(void) y;
} }
void void
@@ -155,6 +159,7 @@ Widget_DrawChoice (WIDGET *_self, int x, int y)
t.baseline.y = y; t.baseline.y = y;
t.align = ALIGN_LEFT; t.align = ALIGN_LEFT;
t.valign = VALIGN_BOTTOM; t.valign = VALIGN_BOTTOM;
t.CharCount = ~0;
t.pStr = self->category; t.pStr = self->category;
if (widget_focus == _self) if (widget_focus == _self)
{ {
@@ -204,7 +209,6 @@ Widget_DrawButton (WIDGET *_self, int x, int y)
FONT oldfont = SetContextFont (StarConFont); FONT oldfont = SetContextFont (StarConFont);
FONTEFFECT oldFontEffect = SetContextFontEffect (0, 0, 0); FONTEFFECT oldFontEffect = SetContextFontEffect (0, 0, 0);
TEXT t; TEXT t;
int i, home_x, home_y;
selected = BUILD_COLOR (MAKE_RGB15 (0x1F, 0x1F, 0x00), 0x0E); selected = BUILD_COLOR (MAKE_RGB15 (0x1F, 0x1F, 0x00), 0x0E);
inactive = BUILD_COLOR (MAKE_RGB15 (0x18, 0x18, 0x1F), 0x07); inactive = BUILD_COLOR (MAKE_RGB15 (0x18, 0x18, 0x1F), 0x07);
@@ -213,12 +217,12 @@ Widget_DrawButton (WIDGET *_self, int x, int y)
t.baseline.y = y; t.baseline.y = y;
t.align = ALIGN_CENTER; t.align = ALIGN_CENTER;
t.valign = VALIGN_BOTTOM; t.valign = VALIGN_BOTTOM;
t.CharCount = ~0;
t.pStr = self->name; t.pStr = self->name;
if (widget_focus == _self) if (widget_focus == _self)
{ {
oldtext = SetContextForeGroundColor (selected);
Widget_DrawToolTips (3, self->tooltip); Widget_DrawToolTips (3, self->tooltip);
oldtext = SetContextForeGroundColor (selected);
} }
else else
{ {
@@ -228,6 +232,7 @@ Widget_DrawButton (WIDGET *_self, int x, int y)
SetContextFontEffect (oldFontEffect.type, oldFontEffect.from, oldFontEffect.to); SetContextFontEffect (oldFontEffect.type, oldFontEffect.from, oldFontEffect.to);
SetContextFont (oldfont); SetContextFont (oldfont);
SetContextForeGroundColor (oldtext); SetContextForeGroundColor (oldtext);
(void) x;
} }
int int
@@ -239,17 +244,20 @@ Widget_HeightChoice (WIDGET *_self)
int int
Widget_HeightFullScreen (WIDGET *_self) Widget_HeightFullScreen (WIDGET *_self)
{ {
(void)_self;
return SCREEN_HEIGHT; return SCREEN_HEIGHT;
} }
int int
Widget_HeightOneLine (WIDGET *_self) Widget_HeightOneLine (WIDGET *_self)
{ {
(void)_self;
return 8; return 8;
} }
int Widget_WidthFullScreen (WIDGET *_self) int Widget_WidthFullScreen (WIDGET *_self)
{ {
(void)_self;
return SCREEN_WIDTH; return SCREEN_WIDTH;
} }
@@ -257,6 +265,7 @@ int
Widget_ReceiveFocusButton (WIDGET *_self, int event) Widget_ReceiveFocusButton (WIDGET *_self, int event)
{ {
widget_focus = _self; widget_focus = _self;
(void)event;
return TRUE; return TRUE;
} }
@@ -266,6 +275,7 @@ Widget_ReceiveFocusChoice (WIDGET *_self, int event)
WIDGET_CHOICE *self = (WIDGET_CHOICE *)_self; WIDGET_CHOICE *self = (WIDGET_CHOICE *)_self;
widget_focus = _self; widget_focus = _self;
self->highlighted = self->selected; self->highlighted = self->selected;
(void)event;
return TRUE; return TRUE;
} }
@@ -305,6 +315,8 @@ Widget_ReceiveFocusMenuScreen (WIDGET *_self, int event)
int int
Widget_HandleEventIgnoreAll (WIDGET *self, int event) Widget_HandleEventIgnoreAll (WIDGET *self, int event)
{ {
(void)event;
(void)self;
return FALSE; return FALSE;
} }
+25 -7
View File
@@ -40,6 +40,19 @@ typedef struct setup_menu_state {
typedef SETUP_MENU_STATE *PSETUP_MENU_STATE; typedef SETUP_MENU_STATE *PSETUP_MENU_STATE;
static BOOLEAN DoSetupMenu (PSETUP_MENU_STATE pInputState); static BOOLEAN DoSetupMenu (PSETUP_MENU_STATE pInputState);
static BOOLEAN done;
static int
quit_main_menu (WIDGET *self, int event)
{
if (event == WIDGET_EVENT_SELECT)
{
done = TRUE;
return TRUE;
}
(void)self;
return FALSE;
}
static CHOICE_OPTION scaler_opts[] = { static CHOICE_OPTION scaler_opts[] = {
{ "None", { "None",
@@ -230,6 +243,11 @@ static WIDGET_CHOICE cmdline_opts[] = {
{ CHOICE_PREFACE, "Scroll Style", 2, scroll_opts, 0, 0 }, { CHOICE_PREFACE, "Scroll Style", 2, scroll_opts, 0, 0 },
{ CHOICE_PREFACE, "Subtitles", 2, subtitles_opts, 0, 0 } }; { CHOICE_PREFACE, "Subtitles", 2, subtitles_opts, 0, 0 } };
static WIDGET_BUTTON quit_button = {
NULL, quit_main_menu, Widget_ReceiveFocusButton, Widget_DrawButton,
Widget_HeightOneLine, Widget_WidthFullScreen,
"Quit Setup Menu", {"Return to the main menu.", "", ""} };
static WIDGET *opt_widgets[] = { static WIDGET *opt_widgets[] = {
(WIDGET *)(&cmdline_opts[0]), (WIDGET *)(&cmdline_opts[0]),
(WIDGET *)(&cmdline_opts[1]), (WIDGET *)(&cmdline_opts[1]),
@@ -239,17 +257,16 @@ static WIDGET *opt_widgets[] = {
(WIDGET *)(&cmdline_opts[5]), (WIDGET *)(&cmdline_opts[5]),
(WIDGET *)(&cmdline_opts[6]), (WIDGET *)(&cmdline_opts[6]),
(WIDGET *)(&cmdline_opts[7]), (WIDGET *)(&cmdline_opts[7]),
(WIDGET *)(&cmdline_opts[8]) } ; (WIDGET *)(&cmdline_opts[8]),
(WIDGET *)(&quit_button) } ;
static WIDGET_MENU_SCREEN menu = { static WIDGET_MENU_SCREEN menu = {
NULL, Widget_HandleEventMenuScreen, Widget_ReceiveFocusMenuScreen, NULL, Widget_HandleEventMenuScreen, Widget_ReceiveFocusMenuScreen,
Widget_DrawMenuScreen, Widget_HeightFullScreen, Widget_WidthFullScreen, Widget_DrawMenuScreen, Widget_HeightFullScreen, Widget_WidthFullScreen,
// "Ur-Quan Masters Setup", "Ur-Quan Masters Setup",
// "Graphics Options", "",
"Use arrows and fire to select options",
"Press cancel when done",
{ {0, 0}, NULL }, { {0, 0}, NULL },
9, opt_widgets, 10, opt_widgets,
0 }; 0 };
#define NUM_STEPS 20 #define NUM_STEPS 20
@@ -350,7 +367,7 @@ DoSetupMenu (PSETUP_MENU_STATE pInputState)
SleepThreadUntil (pInputState->NextTime + MENU_FRAME_RATE); SleepThreadUntil (pInputState->NextTime + MENU_FRAME_RATE);
pInputState->NextTime = GetTimeCounter (); pInputState->NextTime = GetTimeCounter ();
return !((GLOBAL (CurrentActivity) & CHECK_ABORT) || return !((GLOBAL (CurrentActivity) & CHECK_ABORT) ||
PulsedInputState.key[KEY_MENU_CANCEL]); PulsedInputState.key[KEY_MENU_CANCEL] || done);
} }
void void
@@ -361,6 +378,7 @@ SetupMenu (void)
s.InputFunc = DoSetupMenu; s.InputFunc = DoSetupMenu;
s.initialized = FALSE; s.initialized = FALSE;
SetMenuSounds (0, MENU_SOUND_SELECT); SetMenuSounds (0, MENU_SOUND_SELECT);
done = FALSE;
DoInput ((PVOID)&s, TRUE); DoInput ((PVOID)&s, TRUE);
GLOBAL (CurrentActivity) &= ~CHECK_ABORT; GLOBAL (CurrentActivity) &= ~CHECK_ABORT;
PropagateResults (); PropagateResults ();