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.
37 lines
851 B
37 lines
851 B
#pragma once |
|
|
|
#include <cstddef> |
|
#include <vector> |
|
|
|
#include "engine/point.hpp" |
|
#include "engine/surface.hpp" |
|
#include "spelldat.h" |
|
|
|
namespace devilution { |
|
|
|
struct SpellListItem { |
|
Point location; |
|
SpellType type; |
|
SpellID id; |
|
bool isSelected; |
|
}; |
|
|
|
/** |
|
* @brief draws the current right mouse button spell. |
|
* @param out screen buffer representing the main UI panel |
|
*/ |
|
void DrawSpell(const Surface &out); |
|
void DrawSpellList(const Surface &out); |
|
std::vector<SpellListItem> GetSpellListItems(); |
|
void SetSpell(); |
|
void SetSpeedSpell(size_t slot); |
|
bool IsValidSpeedSpell(size_t slot); |
|
void ToggleSpell(size_t slot); |
|
|
|
/** |
|
* Draws the "Speed Book": the rows of known spells for quick-setting a spell that |
|
* show up when you click the spell slot at the control panel. |
|
*/ |
|
void DoSpeedBook(); |
|
|
|
} // namespace devilution
|
|
|