Poke_Transporter_GB/source/button_handler.cpp
Remnants of Forgotten Disney de40daa51e Updating buttons and dialogue
2024-03-29 11:55:54 -05:00

62 lines
990 B
C++

#include "button_handler.h"
Button::Button() {}
Button::Button(OBJ_ATTR *L, OBJ_ATTR *R)
{
button_L = L;
button_R = R;
isWide = true;
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 + 48, y);
}
}
void Button::set_highlight(bool highlight)
{
button_L->attr2 &= ~ATTR2_PALBANK_MASK;
button_L->attr2 |= ATTR2_PALBANK(highlight ? 3 : 2);
if (isWide)
{
button_R->attr2 &= ~ATTR2_PALBANK_MASK;
button_R->attr2 |= ATTR2_PALBANK(highlight ? 3 : 2);
}
}
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);
}
}