mirror of
https://github.com/GearsProgress/Poke_Transporter_GB.git
synced 2026-03-22 09:54:40 -05:00
66 lines
1.1 KiB
C++
66 lines
1.1 KiB
C++
#include "button_handler.h"
|
|
#include "sprite_data.h"
|
|
|
|
Button::Button(){
|
|
|
|
}
|
|
|
|
Button::Button(OBJ_ATTR *L, OBJ_ATTR *R, int nLeft_button_width)
|
|
{
|
|
button_L = L;
|
|
button_R = R;
|
|
isWide = true;
|
|
left_button_width = nLeft_button_width;
|
|
hide();
|
|
}
|
|
|
|
Button::Button(OBJ_ATTR *B)
|
|
{
|
|
button_L = B;
|
|
isWide = false;
|
|
hide();
|
|
}
|
|
|
|
void Button::set_location(int nx, int ny)
|
|
{
|
|
x = nx;
|
|
y = ny;
|
|
obj_set_pos(button_L, x, y);
|
|
if (isWide)
|
|
{
|
|
obj_set_pos(button_R, x + left_button_width, y);
|
|
}
|
|
}
|
|
void Button::set_highlight(bool highlight)
|
|
{
|
|
button_L->attr2 &= ~ATTR2_PALBANK_MASK;
|
|
button_L->attr2 |= ATTR2_PALBANK(highlight ? BTN_LIT_PAL : BTN_PAL);
|
|
|
|
if (isWide)
|
|
{
|
|
button_R->attr2 &= ~ATTR2_PALBANK_MASK;
|
|
button_R->attr2 |= ATTR2_PALBANK(highlight ? BTN_LIT_PAL : BTN_PAL);
|
|
}
|
|
}
|
|
void Button::hide()
|
|
{
|
|
if (isWide)
|
|
{
|
|
obj_hide_multi(button_L, 2);
|
|
}
|
|
else
|
|
{
|
|
obj_hide(button_L);
|
|
}
|
|
}
|
|
void Button::show()
|
|
{
|
|
if (isWide)
|
|
{
|
|
obj_unhide_multi(button_L, 0, 2);
|
|
}
|
|
else
|
|
{
|
|
obj_unhide(button_L, 0);
|
|
}
|
|
} |