C++ DearImGUI Перетаскивание с персонализированным типом данныхC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 C++ DearImGUI Перетаскивание с персонализированным типом данных

Сообщение Anonymous »

В настоящее время я пытаюсь перетаскивать текстуры из одного окна ImGui в другое и отображать их там.
Я храню все необходимые данные для визуализации текстуры в структуре под названием Текстура::data, вот что я пытаюсь установить в качестве полезной нагрузки для перетаскивания.
Все доступные текстуры отображаются в окне ImGui, и оттуда вы сможете их перетаскивать. .

Код: Выделить всё

for (const auto& text : texts) {

ImGui::ImageButton((void*)text.ID, ImVec2(buttonSize.x, buttonSize.y), {0,1}, {1,0});

if(ImGui::BeginDragDropSource())
{
ImGui::SetDragDropPayload("TEXTURE", &text, sizeof(Texture::data));
ImGui::EndDragDropSource();
}
}
Затем у меня есть еще одна панель ImGui для моего окна просмотра, куда можно переместить текстуру и принять полезную нагрузку.

Код: Выделить всё

        ImGui::Image((void*)2, ImVec2{windowSize.x, windowSize.y}, {0, 1}, {1, 0});

if (ImGui::BeginDragDropTarget())
{
auto x = ImGui::AcceptDragDropPayload("TEXTURE");
if (x)
{
auto* f = (Texture::data *) &x;
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/78684279/c-dearimgui-drag-and-drop-with-personalized-data-type[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»