summaryrefslogtreecommitdiff
path: root/source/ui_menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/ui_menu.c')
-rw-r--r--source/ui_menu.c35
1 files changed, 27 insertions, 8 deletions
diff --git a/source/ui_menu.c b/source/ui_menu.c
index 3f909e7..bb23cf0 100644
--- a/source/ui_menu.c
+++ b/source/ui_menu.c
@@ -1072,20 +1072,36 @@ void Menu_Init( menuFrameWork_t *menu ) {
}
}
-menuCommon_t *Menu_ItemAtCursor( menuFrameWork_t *m ) {
+void Menu_Size( menuFrameWork_t *menu ) {
menuCommon_t *item;
+ int x = uis.width / 2;
+ int y = ( uis.height - MENU_SPACING * menu->nitems ) / 2;
int i;
- for( i=0 ; i<m->nitems ; i++ ) {
- item = (menuCommon_t *)m->items[i];
+ for( i = 0; i < menu->nitems; i++ ) {
+ item = menu->items[i];
+ if( item->flags & QMF_HIDDEN ) {
+ continue;
+ }
+ item->x = x;
+ item->y = y;
+ y += MENU_SPACING;
+ }
+}
+
+
+menuCommon_t *Menu_ItemAtCursor( menuFrameWork_t *m ) {
+ menuCommon_t *item;
+ int i;
+ for( i = 0; i < m->nitems; i++ ) {
+ item = m->items[i];
if( item->flags & QMF_HASFOCUS ) {
return item;
}
}
return NULL;
-
}
void Menu_SetFocus( menuCommon_t *focus ) {
@@ -1168,10 +1184,6 @@ int Menu_AdjustCursor( menuFrameWork_t *m, int dir ) {
return QMS_MOVE;
}
-
-
-
-
/*
=================
Menu_Draw
@@ -1182,6 +1194,13 @@ void Menu_Draw( menuFrameWork_t *menu ) {
int i;
//
+// draw banner
+//
+ if( menu->banner ) {
+ UI_DrawString( uis.width / 2, 0, NULL, UI_CENTER|UI_ALTCOLOR, menu->banner );
+ }
+
+//
// draw contents
//
for( i = 0; i < menu->nitems; i++ ) {