57 lines
1.4 KiB
C++
Executable File
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();
|
|
};
|
|
}
|
|
|