Files
rrr.v2/src/rrr/layers/gui/browser/history/history.hpp
2023-06-06 20:08:55 +03:00

57 lines
1.4 KiB
C++
Executable File

#pragma once
#include "try_engine/try_engine.hpp"
#include "rrr/content/content.hpp"
#include "rrr/utils/func.hpp"
namespace rrr::layers::gui
{
class history : public try_engine::layer
{
BASE_TYPE_DEFINE();
public:
CONSTRUCT_IMPL(history);
public:
BASE_OVERIDE_IMPL();
public:
SET_EVENT_MANAGER_IMPL();
public:
void set_content(content* c) { cnt = c; };
private:
FLAGS_STRUCT_DEFINED();
bool show = true;
event_manager* em;
content* cnt;
files* data;
file selected_file;
float width = 0.f;
float height = 0.f;
float pos_x = 0.f;
float pos_y = 0.f;
// все что нужно для установки курсора при длинных списках
int current_position = 0; // позиция курсора относительно списка
int cursor_position = 0; // позиция курсора относительно высоты экрана
int delta = 0;
enum class MOVE_DIRECTION { UP, DOWN };
private:
const ImVec4 dir_color = func::get_IMGUI_color<ImVec4>(91.f, 128.f, 191.f);
const ImVec4 file_color = func::get_IMGUI_color<ImVec4>(186.f, 186.f, 186.f);
const ImVec4 link_color = func::get_IMGUI_color<ImVec4>(51.f, 95.f, 165.f);
private:
void resize();
void set_delta(MOVE_DIRECTION);
void set_scroll();
};
}