You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.6 KiB
57 lines
1.6 KiB
#pragma once |
|
|
|
#include <cstddef> |
|
#include <SDL.h> |
|
|
|
#include "DiabloUI/art.h" |
|
#include "DiabloUI/ui_item.h" |
|
|
|
namespace dvl { |
|
|
|
extern std::size_t SelectedItem; |
|
extern bool textInputActive; |
|
|
|
typedef enum _artFocus { |
|
FOCUS_SMALL, |
|
FOCUS_MED, |
|
FOCUS_BIG, |
|
} _artFocus; |
|
|
|
typedef enum _artLogo { |
|
LOGO_SMALL, |
|
LOGO_MED, |
|
LOGO_BIG, |
|
} _artLogo; |
|
|
|
extern Art ArtLogos[3]; |
|
extern Art ArtFocus[3]; |
|
extern Art ArtBackground; |
|
extern Art ArtBackgroundWidescreen; |
|
extern Art ArtCursor; |
|
extern Art ArtHero; |
|
extern bool gbSpawned; |
|
|
|
extern void (*gfnSoundFunction)(const char *file); |
|
extern BOOL (*gfnHeroInfo)(BOOL (*fninfofunc)(_uiheroinfo *)); |
|
|
|
void UiFadeIn(); |
|
void UiHandleEvents(SDL_Event *event); |
|
bool UiItemMouseEvents(SDL_Event *event, std::vector<UiItemBase *> items); |
|
int GetCenterOffset(int w, int bw = 0); |
|
void LoadPalInMem(const SDL_Color *pPal); |
|
void DrawMouse(); |
|
void LoadBackgroundArt(const char *pszFile, int frames = 1); |
|
void UiAddBackground(std::vector<UiItemBase *> *vecDialog); |
|
void UiAddLogo(std::vector<UiItemBase *> *vecDialog, int size = LOGO_MED, int y = 0); |
|
void UiFocusNavigationSelect(); |
|
void UiFocusNavigationEsc(); |
|
void UiFocusNavigationYesNo(); |
|
void UiInitList(int count, void (*fnFocus)(int value), void (*fnSelect)(int value), void (*fnEsc)(), std::vector<UiItemBase *> items, bool wraps = false, bool (*fnYesNo)() = NULL); |
|
void UiInitScrollBar(UiScrollBar *ui_sb, std::size_t viewport_size, const std::size_t *current_offset); |
|
void UiClearScreen(); |
|
void UiPollAndRender(); |
|
void UiRenderItems(std::vector<UiItemBase *> items); |
|
void UiInitList_clear(); |
|
|
|
void mainmenu_restart_repintro(); |
|
} // namespace dvl
|
|
|