rpcsx/rpcs3/Emu/RSX/Overlays/overlay_list_view.hpp
2021-05-29 10:09:56 +02:00

44 lines
981 B
C++

#include "overlay_controls.h"
namespace rsx
{
namespace overlays
{
struct list_view : public vertical_layout
{
private:
std::unique_ptr<image_view> m_scroll_indicator_top;
std::unique_ptr<image_view> m_scroll_indicator_bottom;
std::unique_ptr<image_button> m_cancel_btn;
std::unique_ptr<image_button> m_accept_btn;
std::unique_ptr<overlay_element> m_highlight_box;
u16 m_elements_height = 0;
s32 m_selected_entry = -1;
u16 m_elements_count = 0;
bool m_cancel_only = false;
public:
list_view(u16 width, u16 height);
void update_selection();
void select_entry(s32 entry);
void select_next(u16 count = 1);
void select_previous(u16 count = 1);
void add_entry(std::unique_ptr<overlay_element>& entry);
int get_selected_index() const;
std::u32string get_selected_item();
void set_cancel_only(bool cancel_only);
void translate(s16 _x, s16 _y) override;
compiled_resource& get_compiled() override;
};
}
}