summaryrefslogtreecommitdiffstatshomepage
path: root/src/frontend/mame/ui/ui.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend/mame/ui/ui.cpp')
-rw-r--r--src/frontend/mame/ui/ui.cpp137
1 files changed, 74 insertions, 63 deletions
diff --git a/src/frontend/mame/ui/ui.cpp b/src/frontend/mame/ui/ui.cpp
index c54ad7ebcd4..10e34a4b9ca 100644
--- a/src/frontend/mame/ui/ui.cpp
+++ b/src/frontend/mame/ui/ui.cpp
@@ -197,7 +197,8 @@ void mame_ui_manager::init()
decode_ui_color(0, &machine());
// more initialization
- set_handler(UI_CALLBACK_TYPE_GENERAL, &mame_ui_manager::handler_messagebox);
+ using namespace std::placeholders;
+ set_handler(ui_callback_type::GENERAL, std::bind(&mame_ui_manager::handler_messagebox, this, _1));
m_non_char_keys_down = std::make_unique<UINT8[]>((ARRAY_LENGTH(non_char_keys) + 7) / 8);
m_mouse_show = machine().system().flags & MACHINE_CLICKABLE_ARTWORK ? true : false;
@@ -257,9 +258,9 @@ void mame_ui_manager::initialize(running_machine &machine)
// pair for the current UI handler
//-------------------------------------------------
-void mame_ui_manager::set_handler(ui_callback_type callback_type, const std::function<UINT32 (render_container *)> callback)
+void mame_ui_manager::set_handler(ui_callback_type callback_type, const std::function<UINT32 (render_container &)> &&callback)
{
- m_handler_callback = callback;
+ m_handler_callback = std::move(callback);
m_handler_callback_type = callback_type;
}
@@ -288,7 +289,8 @@ void mame_ui_manager::display_startup_screens(bool first_time)
#endif
// loop over states
- set_handler(UI_CALLBACK_TYPE_GENERAL, &mame_ui_manager::handler_ingame);
+ using namespace std::placeholders;
+ set_handler(ui_callback_type::GENERAL, std::bind(&mame_ui_manager::handler_ingame, this, _1));
for (state = 0; state < maxstate && !machine().scheduled_event_pending() && !ui::menu::stack_has_special_main_menu(machine()); state++)
{
// default to standard colors
@@ -300,7 +302,7 @@ void mame_ui_manager::display_startup_screens(bool first_time)
case 0:
if (show_warnings && warnings_string(messagebox_text).length() > 0)
{
- set_handler(UI_CALLBACK_TYPE_MODAL, &mame_ui_manager::handler_messagebox_anykey);
+ set_handler(ui_callback_type::MODAL, std::bind(&mame_ui_manager::handler_messagebox_anykey, this, _1));
if (machine().system().flags & (MACHINE_WRONG_COLORS | MACHINE_IMPERFECT_COLORS | MACHINE_REQUIRES_ARTWORK | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_KEYBOARD | MACHINE_NO_SOUND))
messagebox_backcolor = UI_YELLOW_COLOR;
if (machine().system().flags & (MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION | MACHINE_MECHANICAL))
@@ -310,7 +312,7 @@ void mame_ui_manager::display_startup_screens(bool first_time)
case 1:
if (show_gameinfo && game_info_astring(messagebox_text).length() > 0)
- set_handler(UI_CALLBACK_TYPE_MODAL, &mame_ui_manager::handler_messagebox_anykey);
+ set_handler(ui_callback_type::MODAL, std::bind(&mame_ui_manager::handler_messagebox_anykey, this, _1));
break;
case 2:
@@ -318,7 +320,7 @@ void mame_ui_manager::display_startup_screens(bool first_time)
{
std::string warning;
warning.assign(_("This driver requires images to be loaded in the following device(s): ")).append(messagebox_text.substr(0, messagebox_text.length() - 2));
- ui::menu_file_manager::force_file_manager(*this, &machine().render().ui_container(), warning.c_str());
+ ui::menu_file_manager::force_file_manager(*this, machine().render().ui_container(), warning.c_str());
}
break;
}
@@ -328,13 +330,13 @@ void mame_ui_manager::display_startup_screens(bool first_time)
while (machine().input().poll_switches() != INPUT_CODE_INVALID) { }
// loop while we have a handler
- while (m_handler_callback_type == UI_CALLBACK_TYPE_MODAL && !machine().scheduled_event_pending() && !ui::menu::stack_has_special_main_menu(machine()))
+ while (m_handler_callback_type == ui_callback_type::MODAL && !machine().scheduled_event_pending() && !ui::menu::stack_has_special_main_menu(machine()))
{
machine().video().frame_update();
}
// clear the handler and force an update
- set_handler(UI_CALLBACK_TYPE_GENERAL, &mame_ui_manager::handler_ingame);
+ set_handler(ui_callback_type::GENERAL, std::bind(&mame_ui_manager::handler_ingame, this, _1));
machine().video().frame_update();
}
@@ -372,10 +374,10 @@ void mame_ui_manager::set_startup_text(const char *text, bool force)
// render it; called by video.c
//-------------------------------------------------
-void mame_ui_manager::update_and_render(render_container *container)
+void mame_ui_manager::update_and_render(render_container &container)
{
// always start clean
- container->empty();
+ container.empty();
// if we're paused, dim the whole screen
if (machine().phase() >= MACHINE_PHASE_RESET && (single_step() || machine().paused()))
@@ -386,14 +388,14 @@ void mame_ui_manager::update_and_render(render_container *container)
if (alpha > 255)
alpha = 255;
if (alpha >= 0)
- container->add_rect(0.0f, 0.0f, 1.0f, 1.0f, rgb_t(alpha,0x00,0x00,0x00), PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
+ container.add_rect(0.0f, 0.0f, 1.0f, 1.0f, rgb_t(alpha,0x00,0x00,0x00), PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
}
// render any cheat stuff at the bottom
if (machine().phase() >= MACHINE_PHASE_RESET)
{
mame_machine_manager::instance()->lua()->on_frame_done();
- mame_machine_manager::instance()->cheat().render_text(*this, *container);
+ mame_machine_manager::instance()->cheat().render_text(*this, container);
}
// call the current UI handler
@@ -415,17 +417,20 @@ void mame_ui_manager::update_and_render(render_container *container)
if (mouse_target != nullptr)
{
float mouse_y=-1,mouse_x=-1;
- if (mouse_target->map_point_container(mouse_target_x, mouse_target_y, *container, mouse_x, mouse_y))
+ if (mouse_target->map_point_container(mouse_target_x, mouse_target_y, container, mouse_x, mouse_y))
{
const float cursor_size = 0.6 * get_line_height();
- container->add_quad(mouse_x, mouse_y, mouse_x + cursor_size*container->manager().ui_aspect(container), mouse_y + cursor_size, UI_TEXT_COLOR, m_mouse_arrow_texture, PRIMFLAG_ANTIALIAS(1) | PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
+ container.add_quad(mouse_x, mouse_y, mouse_x + cursor_size * container.manager().ui_aspect(&container), mouse_y + cursor_size, UI_TEXT_COLOR, m_mouse_arrow_texture, PRIMFLAG_ANTIALIAS(1) | PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
}
}
}
// cancel takes us back to the ingame handler
if (m_handler_param == UI_HANDLER_CANCEL)
- set_handler(UI_CALLBACK_TYPE_GENERAL, &mame_ui_manager::handler_ingame);
+ {
+ using namespace std::placeholders;
+ set_handler(ui_callback_type::GENERAL, std::bind(&mame_ui_manager::handler_ingame, this, _1));
+ }
}
@@ -515,7 +520,7 @@ float mame_ui_manager::get_string_width(const char *s, float text_size)
// color
//-------------------------------------------------
-void mame_ui_manager::draw_outlined_box(render_container *container, float x0, float y0, float x1, float y1, rgb_t backcolor)
+void mame_ui_manager::draw_outlined_box(render_container &container, float x0, float y0, float x1, float y1, rgb_t backcolor)
{
draw_outlined_box(container, x0, y0, x1, y1, UI_BORDER_COLOR, backcolor);
}
@@ -527,13 +532,13 @@ void mame_ui_manager::draw_outlined_box(render_container *container, float x0, f
// color
//-------------------------------------------------
-void mame_ui_manager::draw_outlined_box(render_container *container, float x0, float y0, float x1, float y1, rgb_t fgcolor, rgb_t bgcolor)
+void mame_ui_manager::draw_outlined_box(render_container &container, float x0, float y0, float x1, float y1, rgb_t fgcolor, rgb_t bgcolor)
{
- container->add_rect(x0, y0, x1, y1, bgcolor, PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
- container->add_line(x0, y0, x1, y0, UI_LINE_WIDTH, fgcolor, PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
- container->add_line(x1, y0, x1, y1, UI_LINE_WIDTH, fgcolor, PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
- container->add_line(x1, y1, x0, y1, UI_LINE_WIDTH, fgcolor, PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
- container->add_line(x0, y1, x0, y0, UI_LINE_WIDTH, fgcolor, PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
+ container.add_rect(x0, y0, x1, y1, bgcolor, PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
+ container.add_line(x0, y0, x1, y0, UI_LINE_WIDTH, fgcolor, PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
+ container.add_line(x1, y0, x1, y1, UI_LINE_WIDTH, fgcolor, PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
+ container.add_line(x1, y1, x0, y1, UI_LINE_WIDTH, fgcolor, PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
+ container.add_line(x0, y1, x0, y0, UI_LINE_WIDTH, fgcolor, PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
}
@@ -541,7 +546,7 @@ void mame_ui_manager::draw_outlined_box(render_container *container, float x0, f
// draw_text - simple text renderer
//-------------------------------------------------
-void mame_ui_manager::draw_text(render_container *container, const char *buf, float x, float y)
+void mame_ui_manager::draw_text(render_container &container, const char *buf, float x, float y)
{
draw_text_full(container, buf, x, y, 1.0f - x, ui::text_layout::LEFT, ui::text_layout::WORD, mame_ui_manager::NORMAL, UI_TEXT_COLOR, UI_TEXT_BG_COLOR, nullptr, nullptr);
}
@@ -553,7 +558,7 @@ void mame_ui_manager::draw_text(render_container *container, const char *buf, fl
// and full size computation
//-------------------------------------------------
-void mame_ui_manager::draw_text_full(render_container *container, const char *origs, float x, float y, float origwrapwidth, ui::text_layout::text_justify justify, ui::text_layout::word_wrapping wrap, draw_mode draw, rgb_t fgcolor, rgb_t bgcolor, float *totalwidth, float *totalheight, float text_size)
+void mame_ui_manager::draw_text_full(render_container &container, const char *origs, float x, float y, float origwrapwidth, ui::text_layout::text_justify justify, ui::text_layout::word_wrapping wrap, draw_mode draw, rgb_t fgcolor, rgb_t bgcolor, float *totalwidth, float *totalheight, float text_size)
{
// create the layout
auto layout = create_layout(container, origwrapwidth, justify, wrap);
@@ -582,7 +587,7 @@ void mame_ui_manager::draw_text_full(render_container *container, const char *or
// message with a box around it
//-------------------------------------------------
-void mame_ui_manager::draw_text_box(render_container *container, const char *text, ui::text_layout::text_justify justify, float xpos, float ypos, rgb_t backcolor)
+void mame_ui_manager::draw_text_box(render_container &container, const char *text, ui::text_layout::text_justify justify, float xpos, float ypos, rgb_t backcolor)
{
// cap the maximum width
float maximum_width = 1.0f - UI_BOX_LR_BORDER * 2;
@@ -603,7 +608,7 @@ void mame_ui_manager::draw_text_box(render_container *container, const char *tex
// message with a box around it
//-------------------------------------------------
-void mame_ui_manager::draw_text_box(render_container *container, ui::text_layout &layout, float xpos, float ypos, rgb_t backcolor)
+void mame_ui_manager::draw_text_box(render_container &container, ui::text_layout &layout, float xpos, float ypos, rgb_t backcolor)
{
// xpos and ypos are where we want to "pin" the layout, but we need to adjust for the actual size of the payload
auto actual_left = layout.actual_left();
@@ -614,10 +619,10 @@ void mame_ui_manager::draw_text_box(render_container *container, ui::text_layout
// add a box around that
draw_outlined_box(container,
- x - UI_BOX_LR_BORDER,
- y - UI_BOX_TB_BORDER,
- x + actual_width + UI_BOX_LR_BORDER,
- y + actual_height + UI_BOX_TB_BORDER, backcolor);
+ x - UI_BOX_LR_BORDER,
+ y - UI_BOX_TB_BORDER,
+ x + actual_width + UI_BOX_LR_BORDER,
+ y + actual_height + UI_BOX_TB_BORDER, backcolor);
// emit the text
layout.emit(container, x - actual_left, y);
@@ -629,7 +634,7 @@ void mame_ui_manager::draw_text_box(render_container *container, ui::text_layout
// message with a box around it
//-------------------------------------------------
-void mame_ui_manager::draw_message_window(render_container *container, const char *text)
+void mame_ui_manager::draw_message_window(render_container &container, const char *text)
{
draw_text_box(container, text, ui::text_layout::text_justify::LEFT, 0.5f, 0.5f, UI_BACKGROUND_COLOR);
}
@@ -714,7 +719,8 @@ bool mame_ui_manager::show_profiler() const
void mame_ui_manager::show_menu()
{
- set_handler<mame_ui_manager&>(UI_CALLBACK_TYPE_MENU, ui::menu::ui_handler, *this);
+ using namespace std::placeholders;
+ set_handler(ui_callback_type::MENU, std::bind(&ui::menu::ui_handler, _1, std::ref(*this)));
}
@@ -735,7 +741,7 @@ void mame_ui_manager::show_mouse(bool status)
bool mame_ui_manager::is_menu_active(void)
{
- return m_handler_callback_type == UI_CALLBACK_TYPE_MENU;
+ return m_handler_callback_type == ui_callback_type::MENU;
}
@@ -1002,7 +1008,7 @@ std::string &mame_ui_manager::game_info_astring(std::string &str)
// messagebox_text string but handles no input
//-------------------------------------------------
-UINT32 mame_ui_manager::handler_messagebox(render_container *container)
+UINT32 mame_ui_manager::handler_messagebox(render_container &container)
{
draw_text_box(container, messagebox_text.c_str(), ui::text_layout::LEFT, 0.5f, 0.5f, messagebox_backcolor);
return 0;
@@ -1015,7 +1021,7 @@ UINT32 mame_ui_manager::handler_messagebox(render_container *container)
// any keypress
//-------------------------------------------------
-UINT32 mame_ui_manager::handler_messagebox_anykey(render_container *container)
+UINT32 mame_ui_manager::handler_messagebox_anykey(render_container &container)
{
UINT32 state = 0;
@@ -1167,7 +1173,7 @@ void mame_ui_manager::paste()
// draw_fps_counter
//-------------------------------------------------
-void mame_ui_manager::draw_fps_counter(render_container *container)
+void mame_ui_manager::draw_fps_counter(render_container &container)
{
draw_text_full(container, machine().video().speed_text().c_str(), 0.0f, 0.0f, 1.0f,
ui::text_layout::RIGHT, ui::text_layout::WORD, OPAQUE_, rgb_t::white, rgb_t::black, nullptr, nullptr);
@@ -1178,7 +1184,7 @@ void mame_ui_manager::draw_fps_counter(render_container *container)
// draw_timecode_counter
//-------------------------------------------------
-void mame_ui_manager::draw_timecode_counter(render_container *container)
+void mame_ui_manager::draw_timecode_counter(render_container &container)
{
std::string tempstring;
draw_text_full(container, machine().video().timecode_text(tempstring).c_str(), 0.0f, 0.0f, 1.0f,
@@ -1190,7 +1196,7 @@ void mame_ui_manager::draw_timecode_counter(render_container *container)
// draw_timecode_total
//-------------------------------------------------
-void mame_ui_manager::draw_timecode_total(render_container *container)
+void mame_ui_manager::draw_timecode_total(render_container &container)
{
std::string tempstring;
draw_text_full(container, machine().video().timecode_total_text(tempstring).c_str(), 0.0f, 0.0f, 1.0f,
@@ -1202,7 +1208,7 @@ void mame_ui_manager::draw_timecode_total(render_container *container)
// draw_profiler
//-------------------------------------------------
-void mame_ui_manager::draw_profiler(render_container *container)
+void mame_ui_manager::draw_profiler(render_container &container)
{
const char *text = g_profiler.text(machine());
draw_text_full(container, text, 0.0f, 0.0f, 1.0f, ui::text_layout::LEFT, ui::text_layout::WORD, OPAQUE_, rgb_t::white, rgb_t::black, nullptr, nullptr);
@@ -1217,7 +1223,8 @@ void mame_ui_manager::start_save_state()
{
machine().pause();
m_load_save_hold = true;
- set_handler(UI_CALLBACK_TYPE_GENERAL, &mame_ui_manager::handler_load_save, (UINT32)LOADSAVE_SAVE);
+ using namespace std::placeholders;
+ set_handler(ui_callback_type::GENERAL, std::bind(&mame_ui_manager::handler_load_save, this, _1, UINT32(LOADSAVE_SAVE)));
}
@@ -1229,7 +1236,8 @@ void mame_ui_manager::start_load_state()
{
machine().pause();
m_load_save_hold = true;
- set_handler(UI_CALLBACK_TYPE_GENERAL, &mame_ui_manager::handler_load_save, (UINT32)LOADSAVE_LOAD);
+ using namespace std::placeholders;
+ set_handler(ui_callback_type::GENERAL, std::bind(&mame_ui_manager::handler_load_save, this, _1, UINT32(LOADSAVE_LOAD)));
}
@@ -1243,7 +1251,7 @@ void mame_ui_manager::image_handler_ingame()
// run display routine for devices
if (machine().phase() == MACHINE_PHASE_RUNNING)
{
- auto layout = create_layout(&machine().render().ui_container());
+ auto layout = create_layout(machine().render().ui_container());
// loop through all devices, build their text into the layout
for (device_image_interface &image : image_interface_iterator(machine().root_device()))
@@ -1261,7 +1269,7 @@ void mame_ui_manager::image_handler_ingame()
{
float x = 0.2f;
float y = 0.5f * get_line_height() + 2.0f * UI_BOX_TB_BORDER;
- draw_text_box(&machine().render().ui_container(), layout, x, y, UI_BACKGROUND_COLOR);
+ draw_text_box(machine().render().ui_container(), layout, x, y, UI_BACKGROUND_COLOR);
}
}
}
@@ -1271,7 +1279,7 @@ void mame_ui_manager::image_handler_ingame()
// of the standard keypresses
//-------------------------------------------------
-UINT32 mame_ui_manager::handler_ingame(render_container *container)
+UINT32 mame_ui_manager::handler_ingame(render_container &container)
{
bool is_paused = machine().paused();
@@ -1370,7 +1378,8 @@ UINT32 mame_ui_manager::handler_ingame(render_container *container)
// if the on-screen display isn't up and the user has toggled it, turn it on
if ((machine().debug_flags & DEBUG_FLAG_ENABLED) == 0 && machine().ui_input().pressed(IPT_UI_ON_SCREEN_DISPLAY))
{
- set_handler<mame_ui_manager&>(UI_CALLBACK_TYPE_MENU, ui::menu_sliders::ui_handler, *this);
+ using namespace std::placeholders;
+ set_handler(ui_callback_type::MENU, std::bind(&ui::menu_sliders::ui_handler, _1, std::ref(*this)));
return 1;
}
@@ -1385,7 +1394,8 @@ UINT32 mame_ui_manager::handler_ingame(render_container *container)
{
if (!is_paused)
machine().pause();
- set_handler<mame_ui_manager&, bool>(UI_CALLBACK_TYPE_GENERAL, ui_gfx_ui_handler, *this, is_paused);
+ using namespace std::placeholders;
+ set_handler(ui_callback_type::GENERAL, std::bind(&ui_gfx_ui_handler, _1, std::ref(*this), is_paused));
return is_paused ? 1 : 0;
}
@@ -1497,7 +1507,7 @@ UINT32 mame_ui_manager::handler_ingame(render_container *container)
// specifying a game to save or load
//-------------------------------------------------
-UINT32 mame_ui_manager::handler_load_save(render_container *container, UINT32 state)
+UINT32 mame_ui_manager::handler_load_save(render_container &container, UINT32 state)
{
char filename[20];
char file = 0;
@@ -1603,10 +1613,11 @@ UINT32 mame_ui_manager::handler_load_save(render_container *container, UINT32 st
void mame_ui_manager::request_quit()
{
+ using namespace std::placeholders;
if (!machine().options().confirm_quit())
machine().schedule_exit();
else
- set_handler(UI_CALLBACK_TYPE_GENERAL, &mame_ui_manager::handler_confirm_quit);
+ set_handler(ui_callback_type::GENERAL, std::bind(&mame_ui_manager::handler_confirm_quit, this, _1));
}
@@ -1615,7 +1626,7 @@ void mame_ui_manager::request_quit()
// confirming quit emulation
//-------------------------------------------------
-UINT32 mame_ui_manager::handler_confirm_quit(render_container *container)
+UINT32 mame_ui_manager::handler_confirm_quit(render_container &container)
{
UINT32 state = 0;
@@ -2374,11 +2385,11 @@ void mame_ui_manager::set_use_natural_keyboard(bool use_natural_keyboard)
// wrap_text
//-------------------------------------------------
-ui::text_layout mame_ui_manager::create_layout(render_container *container, float width, ui::text_layout::text_justify justify, ui::text_layout::word_wrapping wrap)
+ui::text_layout mame_ui_manager::create_layout(render_container &container, float width, ui::text_layout::text_justify justify, ui::text_layout::word_wrapping wrap)
{
// determine scale factors
float yscale = get_line_height();
- float xscale = yscale * machine().render().ui_aspect(container);
+ float xscale = yscale * machine().render().ui_aspect(&container);
// create the layout
return ui::text_layout(*get_font(), xscale, yscale, width, justify, wrap);
@@ -2389,17 +2400,17 @@ ui::text_layout mame_ui_manager::create_layout(render_container *container, floa
// wrap_text
//-------------------------------------------------
-int mame_ui_manager::wrap_text(render_container *container, const char *origs, float x, float y, float origwrapwidth, std::vector<int> &xstart, std::vector<int> &xend, float text_size)
+int mame_ui_manager::wrap_text(render_container &container, const char *origs, float x, float y, float origwrapwidth, std::vector<int> &xstart, std::vector<int> &xend, float text_size)
{
// create the layout
auto layout = create_layout(container, origwrapwidth, ui::text_layout::LEFT, ui::text_layout::WORD);
// add the text
layout.add_text(
- origs,
- rgb_t::black,
- rgb_t::black,
- text_size);
+ origs,
+ rgb_t::black,
+ rgb_t::black,
+ text_size);
// and get the wrapping info
return layout.get_wrap_info(xstart, xend);
@@ -2411,13 +2422,13 @@ int mame_ui_manager::wrap_text(render_container *container, const char *origs, f
// textured background and line color
//-------------------------------------------------
-void mame_ui_manager::draw_textured_box(render_container *container, float x0, float y0, float x1, float y1, rgb_t backcolor, rgb_t linecolor, render_texture *texture, UINT32 flags)
+void mame_ui_manager::draw_textured_box(render_container &container, float x0, float y0, float x1, float y1, rgb_t backcolor, rgb_t linecolor, render_texture *texture, UINT32 flags)
{
- container->add_quad(x0, y0, x1, y1, backcolor, texture, flags);
- container->add_line(x0, y0, x1, y0, UI_LINE_WIDTH, linecolor, PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
- container->add_line(x1, y0, x1, y1, UI_LINE_WIDTH, linecolor, PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
- container->add_line(x1, y1, x0, y1, UI_LINE_WIDTH, linecolor, PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
- container->add_line(x0, y1, x0, y0, UI_LINE_WIDTH, linecolor, PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
+ container.add_quad(x0, y0, x1, y1, backcolor, texture, flags);
+ container.add_line(x0, y0, x1, y0, UI_LINE_WIDTH, linecolor, PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
+ container.add_line(x1, y0, x1, y1, UI_LINE_WIDTH, linecolor, PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
+ container.add_line(x1, y1, x0, y1, UI_LINE_WIDTH, linecolor, PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
+ container.add_line(x0, y1, x0, y0, UI_LINE_WIDTH, linecolor, PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
}
//-------------------------------------------------