|
|
|
|
/**
|
|
|
|
|
* @file gmenu.h
|
|
|
|
|
*
|
|
|
|
|
* Interface of the in-game navigation and interaction.
|
|
|
|
|
*/
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "engine.h"
|
|
|
|
|
|
|
|
|
|
namespace devilution {
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C" {
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
typedef struct TMenuItem {
|
|
|
|
|
Uint32 dwFlags;
|
|
|
|
|
const char *pszStr;
|
|
|
|
|
void (*fnMenu)(BOOL);
|
|
|
|
|
} TMenuItem;
|
|
|
|
|
|
|
|
|
|
extern TMenuItem *sgpCurrentMenu;
|
|
|
|
|
|
|
|
|
|
void gmenu_draw_pause(CelOutputBuffer out);
|
|
|
|
|
void FreeGMenu();
|
|
|
|
|
void gmenu_init_menu();
|
|
|
|
|
BOOL gmenu_is_active();
|
|
|
|
|
void gmenu_set_items(TMenuItem *pItem, void (*gmFunc)(TMenuItem *));
|
|
|
|
|
void gmenu_draw(CelOutputBuffer out);
|
|
|
|
|
BOOL gmenu_presskeys(int vkey);
|
|
|
|
|
BOOL gmenu_on_mouse_move();
|
|
|
|
|
BOOL gmenu_left_mouse(BOOL isDown);
|
|
|
|
|
void gmenu_enable(TMenuItem *pMenuItem, BOOL enable);
|
|
|
|
|
void gmenu_slider_set(TMenuItem *pItem, int min, int max, int gamma);
|
|
|
|
|
int gmenu_slider_get(TMenuItem *pItem, int min, int max);
|
|
|
|
|
void gmenu_slider_steps(TMenuItem *pItem, int dwTicks);
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
}
|