2022-03-02 23:59:19 +01:00
|
|
|
#pragma once
|
2019-03-28 02:17:15 +01:00
|
|
|
|
2021-12-31 00:57:06 +01:00
|
|
|
#include "chart.hpp"
|
2021-12-31 14:59:39 +01:00
|
|
|
#include "history.hpp"
|
|
|
|
#include "history_actions.hpp"
|
2021-12-31 00:57:06 +01:00
|
|
|
#include "notes_clipboard.hpp"
|
|
|
|
#include "time_selection.hpp"
|
|
|
|
#include "widgets/density_graph.hpp"
|
2019-04-06 22:35:17 +02:00
|
|
|
|
2022-01-04 01:31:17 +01:00
|
|
|
#include <filesystem>
|
|
|
|
|
2019-03-28 02:17:15 +01:00
|
|
|
struct Chart_with_History {
|
2022-01-04 01:31:17 +01:00
|
|
|
explicit Chart_with_History(Chart& c, std::filesystem::path assets);
|
2019-03-28 02:17:15 +01:00
|
|
|
Chart& ref;
|
|
|
|
std::set<Note> selectedNotes;
|
|
|
|
NotesClipboard notesClipboard;
|
|
|
|
SelectionState timeSelection;
|
2021-12-31 14:59:39 +01:00
|
|
|
std::optional<std::pair<Note, Note>> longNoteBeingCreated;
|
2019-03-28 02:17:15 +01:00
|
|
|
bool creatingLongNote;
|
|
|
|
History<std::shared_ptr<ActionWithMessage>> history;
|
2019-04-06 22:35:17 +02:00
|
|
|
DensityGraph densityGraph;
|
2019-03-28 02:17:15 +01:00
|
|
|
|
|
|
|
std::optional<Note> makeLongNoteDummy(int current_tick) const;
|
|
|
|
std::optional<Note> makeCurrentLongNote() const;
|
|
|
|
};
|