#include "menu.h"
#include "genconmac.h"
#include "color.h"
#include "states.h"
#include "message.h"
#include "net.h"
#include <stdlib.h>
#include <assert.h>
Include dependency graph for menu.c:
Go to the source code of this file.
Defines | |
#define | MARKER_LENGTH 24 |
The length of the focus markers in pixels. | |
#define | MARKER_THICKNESS 3 |
The thickness of the focus markers in pixels. | |
#define | MENU_MARGIN 96 |
The margin between the sides of the window and the menu. | |
Functions | |
int | MenuRun () |
Runs a menu operating state. | |
static void | PlaceMarkers () |
void | RemoveMenu () |
Removes intenal menu system data and prepares for a new menu. | |
static Bool | ResizeMenu (int winW, int winH) |
Attempts to resize the menu items to fit the requested size window. | |
void | SetupMenu (MenuItem *menu, int first, int count) |
Initalizes the menu system's internal data for a new menu. | |
Variables | |
RenderItem | background |
The background image. | |
static int | focus |
For internal use only. The index of the menu item that has input focus. | |
static MenuItem * | items |
For internal use only. A pointer to the start of an array of items that will comprise the menu. | |
static RenderItem * | markers |
For internal use only. Used for the rectangle edge markers around the menu item with input focus. | |
static int | numItems |
For internal use only. The number of elements in the items array. |
Copyright (C) 2007 Jeff Jackowski
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Or visit their website at: http://www.gnu.org/
Definition in file menu.c.
#define MARKER_LENGTH 24 |
The length of the focus markers in pixels.
Definition at line 61 of file menu.c.
Referenced by SetupMenu().
#define MARKER_THICKNESS 3 |
The thickness of the focus markers in pixels.
Definition at line 56 of file menu.c.
Referenced by PlaceMarkers(), ResizeMenu(), and SetupMenu().
#define MENU_MARGIN 96 |
The margin between the sides of the window and the menu.
Definition at line 51 of file menu.c.
Referenced by ResizeMenu().
static void PlaceMarkers | ( | ) | [static] |
Definition at line 92 of file menu.c.
References focus, items, RenderItem_t::loc, MARKER_THICKNESS, markers, PlaceRenderItem(), and MenuItem_t::region.
Referenced by MenuRun().
Here is the call graph for this function:
static Bool ResizeMenu | ( | int | winW, | |
int | winH | |||
) | [static] |
Attempts to resize the menu items to fit the requested size window.
winW | The new width of the window. | |
winH | The new height of the window. |
Definition at line 127 of file menu.c.
References FALSE, items, MARKER_THICKNESS, MENU_MARGIN, MenuItem_t::minHeight, MenuItem_t::minWidth, numItems, and MenuItem_t::update.
Referenced by MenuRun(), and SetupMenu().
RenderItem* markers [static] |
For internal use only.
Used for the rectangle edge markers around the menu item with input focus.
Definition at line 90 of file menu.c.
Referenced by PlaceMarkers(), RemoveMenu(), and SetupMenu().