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.
71 lines
2.6 KiB
71 lines
2.6 KiB
#include "lua/modules/render.hpp" |
|
|
|
#include <sol/sol.hpp> |
|
|
|
#include "DiabloUI/ui_flags.hpp" |
|
#include "engine/dx.h" |
|
#include "engine/render/text_render.hpp" |
|
#include "lua/metadoc.hpp" |
|
#include "utils/display.h" |
|
|
|
namespace devilution { |
|
|
|
sol::table LuaRenderModule(sol::state_view &lua) |
|
{ |
|
sol::table table = lua.create_table(); |
|
LuaSetDocFn(table, "string", "(text: string, x: integer, y: integer)", |
|
"Renders a string at the given coordinates", |
|
[](std::string_view text, int x, int y) { DrawString(GlobalBackBuffer(), text, { x, y }); }); |
|
LuaSetDocFn(table, "screen_width", "()", |
|
"Returns the screen width", []() { return gnScreenWidth; }); |
|
LuaSetDocFn(table, "screen_height", "()", |
|
"Returns the screen height", []() { return gnScreenHeight; }); |
|
|
|
auto uiFlags = lua.create_table(); |
|
uiFlags["None"] = UiFlags::None; |
|
|
|
uiFlags["FontSize12"] = UiFlags::FontSize12; |
|
uiFlags["FontSize24"] = UiFlags::FontSize24; |
|
uiFlags["FontSize30"] = UiFlags::FontSize30; |
|
uiFlags["FontSize42"] = UiFlags::FontSize42; |
|
uiFlags["FontSize46"] = UiFlags::FontSize46; |
|
uiFlags["FontSizeDialog"] = UiFlags::FontSizeDialog; |
|
|
|
uiFlags["ColorUiGold"] = UiFlags::ColorUiGold; |
|
uiFlags["ColorUiSilver"] = UiFlags::ColorUiSilver; |
|
uiFlags["ColorUiGoldDark"] = UiFlags::ColorUiGoldDark; |
|
uiFlags["ColorUiSilverDark"] = UiFlags::ColorUiSilverDark; |
|
uiFlags["ColorDialogWhite"] = UiFlags::ColorDialogWhite; |
|
uiFlags["ColorDialogYellow"] = UiFlags::ColorDialogYellow; |
|
uiFlags["ColorDialogRed"] = UiFlags::ColorDialogRed; |
|
uiFlags["ColorYellow"] = UiFlags::ColorYellow; |
|
uiFlags["ColorGold"] = UiFlags::ColorGold; |
|
uiFlags["ColorBlack"] = UiFlags::ColorBlack; |
|
uiFlags["ColorWhite"] = UiFlags::ColorWhite; |
|
uiFlags["ColorWhitegold"] = UiFlags::ColorWhitegold; |
|
uiFlags["ColorRed"] = UiFlags::ColorRed; |
|
uiFlags["ColorBlue"] = UiFlags::ColorBlue; |
|
uiFlags["ColorOrange"] = UiFlags::ColorOrange; |
|
uiFlags["ColorButtonface"] = UiFlags::ColorButtonface; |
|
uiFlags["ColorButtonpushed"] = UiFlags::ColorButtonpushed; |
|
|
|
uiFlags["AlignCenter"] = UiFlags::AlignCenter; |
|
uiFlags["AlignRight"] = UiFlags::AlignRight; |
|
uiFlags["VerticalCenter"] = UiFlags::VerticalCenter; |
|
|
|
uiFlags["KerningFitSpacing"] = UiFlags::KerningFitSpacing; |
|
|
|
uiFlags["ElementDisabled"] = UiFlags::ElementDisabled; |
|
uiFlags["ElementHidden"] = UiFlags::ElementHidden; |
|
|
|
uiFlags["PentaCursor"] = UiFlags::PentaCursor; |
|
uiFlags["Outlined"] = UiFlags::Outlined; |
|
|
|
uiFlags["NeedsNextElement"] = UiFlags::NeedsNextElement; |
|
|
|
table["UiFlags"] = uiFlags; |
|
|
|
return table; |
|
} |
|
|
|
} // namespace devilution
|
|
|