56 return { 0xE1, 0xE1, 0xE1, alpha };
60 return { 0xB4, 0xB4, 0xC8, alpha };
67 std::string title_font_name;
68 std::string cnt_font_name;
69 std::string opt_font_name;
74 std::vector<std::string> opts;
75 std::vector<sdl2::Texture> opt_texs;
76 std::string cancel_opt;
78 i32 selected_opt_over_alpha;
79 i32 prev_selected_opt_idx;
80 i32 prev_selected_opt_over_alpha;
85 Dialog(
const std::string &title,
const std::string &content);
92 this->cancel_opt = opt_name;
100 return !this->cancel_opt.empty();
106 return this->icon_tex !=
nullptr;
112 return this->user_cancelled;
116 if(this->user_cancelled) {
120 if(this->
HasCancelOption() && (this->selected_opt_idx == (this->opt_texs.size() - 1))) {
Definition: ui_Application.hpp:22
Definition: ui_Dialog.hpp:22
static constexpr u8 MaxScreenFadeAlpha
Definition: ui_Dialog.hpp:51
static constexpr Color DefaultTitleColor
Definition: ui_Dialog.hpp:24
constexpr bool UserCancelled()
Definition: ui_Dialog.hpp:111
static constexpr u32 ContentY
Definition: ui_Dialog.hpp:41
void SetCancelOption(const std::string &opt_name)
Definition: ui_Dialog.hpp:91
bool HasCancelOption()
Definition: ui_Dialog.hpp:99
static constexpr Color MakeOverColor(const u8 alpha)
Definition: ui_Dialog.hpp:59
static constexpr u32 IconMargin
Definition: ui_Dialog.hpp:53
static constexpr u32 OptionHorizontalMargin
Definition: ui_Dialog.hpp:47
static constexpr u32 OptionBorderRadius
Definition: ui_Dialog.hpp:48
static constexpr Color DefaultContentColor
Definition: ui_Dialog.hpp:25
static constexpr u32 TitleExtraWidth
Definition: ui_Dialog.hpp:33
static constexpr u32 TitleTopMargin
Definition: ui_Dialog.hpp:36
i32 Show(Application *app_ref)
static constexpr u32 DialogExtraBaseWidth
Definition: ui_Dialog.hpp:28
static constexpr u32 OptionBottomMargin
Definition: ui_Dialog.hpp:49
static constexpr u32 OptionHeight
Definition: ui_Dialog.hpp:46
static constexpr u32 SpaceBetweenContentAndOptions
Definition: ui_Dialog.hpp:35
static constexpr u32 OptionsBaseHorizontalMargin
Definition: ui_Dialog.hpp:45
static constexpr u32 TitleY
Definition: ui_Dialog.hpp:39
void RemoveCancelOption()
Definition: ui_Dialog.hpp:95
static constexpr u8 OverAlphaIncrement
Definition: ui_Dialog.hpp:63
void AddOption(const std::string &opt_name)
static constexpr u32 SpaceBetweenOptions
Definition: ui_Dialog.hpp:31
static constexpr Color MakeDialogColor(const u8 alpha)
Definition: ui_Dialog.hpp:55
constexpr bool HasIcon()
Definition: ui_Dialog.hpp:105
static constexpr u32 IconExtraHeight
Definition: ui_Dialog.hpp:43
static constexpr u32 TitleX
Definition: ui_Dialog.hpp:38
static constexpr u32 DialogBorderRadius
Definition: ui_Dialog.hpp:29
static constexpr u32 ContentX
Definition: ui_Dialog.hpp:40
static constexpr Color DefaultOptionColor
Definition: ui_Dialog.hpp:26
static constexpr u8 FadeAlphaIncrement
Definition: ui_Dialog.hpp:64
static constexpr u32 ContentExtraWidth
Definition: ui_Dialog.hpp:34
bool IsOk()
Definition: ui_Dialog.hpp:115
void SetIcon(const std::string &icon_path)
Dialog(const std::string &title, const std::string &content)
SDL_Texture * Texture
Definition: sdl2_Types.hpp:11
Definition: elm_Button.hpp:18
s32 i32
Definition: pu_Include.hpp:28
#define PU_SMART_CTOR(type)
Definition: pu_Include.hpp:19
Definition: ui_Types.hpp:44