blob: c01cea8fe1dd39d18d320b07e966c4ddeb9a90b1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#pragma once
#include "assets.h"
#include "texture.h"
#include <imgui.h>
#include <imgui-SFML.h>
#include <SFML/Graphics.hpp>
struct ColorPalette {
const assets::File* current;
sf::Texture texture;
ColorPalette(cudaSurfaceObject_t& palette) {
current = &assets::palette::files[5];
texture.loadFromMemory(current->data, current->size);
palette = bindTextureToCuda(texture);
}
void interact();
};
void ColorPalette::interact() {
if (ImGui::BeginCombo("Color palette", current->name.c_str())) {
for (unsigned i=0; i < assets::palette::file_count; ++i) {
bool is_selected = (current == &assets::palette::files[i]);
if (ImGui::Selectable(assets::palette::files[i].name.c_str(), is_selected)) {
current = &assets::palette::files[i];
texture.loadFromMemory(current->data, current->size);
break;
}
if (is_selected) {
ImGui::SetItemDefaultFocus();
}
}
ImGui::EndCombo();
}
ImGui::Image(texture, sf::Vector2f(400.,40.));
}
|