нет курсора imgui

yung milonov

Известный
Автор темы
1,008
519
Меню открывается, а курсора нету. Когда использую ImGui::GetIO().MouseDrawCursor = 1; курсор появляется, но двигать им я не могу (в середине экрана он). Как исправить?
 
  • Нравится
Реакции: [w0te]

Ya Zaregalsya

Известный
386
134
не помогло чет
Вот рабочий код, но не исключено, что какие-то строки там не нужны.


C++:
if (Gui::bShowWindow)
        {
            SF->getSAMP()->getMisc()->ToggleCursor(3, true);
            ImGui::GetIO().MouseDrawCursor = 1;
            ImGui::GetIO().ConfigFlags &= ~ImGuiConfigFlags_NoMouseCursorChange;

            ImGui::SetNextWindowSize(ImVec2(Gui::screenSize.x / 2, Gui::screenSize.y / 3), 0.0f);
            ImGui::SetNextWindowPos(
                ImVec2((Gui::screenSize.x / 2)*0.5, (Gui::screenSize.y / 2)*0.5), 0.0f, ImVec2(0.0, 0.0));
            ImGui::Begin("GUI", &Gui::bShowWindow,
                ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoResize);
            {
                ...
            }
            ImGui::End();
            ImGui::GetIO().MouseDrawCursor = 0;
            ImGui::GetIO().ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange;
        }
 

yung milonov

Известный
Автор темы
1,008
519
Вот рабочий код, но не исключено, что какие-то строки там не нужны.


C++:
if (Gui::bShowWindow)
        {
            SF->getSAMP()->getMisc()->ToggleCursor(3, true);
            ImGui::GetIO().MouseDrawCursor = 1;
            ImGui::GetIO().ConfigFlags &= ~ImGuiConfigFlags_NoMouseCursorChange;

            ImGui::SetNextWindowSize(ImVec2(Gui::screenSize.x / 2, Gui::screenSize.y / 3), 0.0f);
            ImGui::SetNextWindowPos(
                ImVec2((Gui::screenSize.x / 2)*0.5, (Gui::screenSize.y / 2)*0.5), 0.0f, ImVec2(0.0, 0.0));
            ImGui::Begin("GUI", &Gui::bShowWindow,
                ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoResize);
            {
                ...
            }
            ImGui::End();
            ImGui::GetIO().MouseDrawCursor = 0;
            ImGui::GetIO().ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange;
        }
курсор появляется, работает все, но после закрытия окна imgui он не пропадает
 

Ya Zaregalsya

Известный
386
134
курсор появляется, работает все, но после закрытия окна imgui он не пропадает
Точно, забыл про этот косяк. Если закрывать окно по команде, то курсор пропадает, если по крестику, то остаётся. Завтра попробую решить.
 
  • Нравится
Реакции: yung milonov

Ya Zaregalsya

Известный
386
134
курсор появляется, работает все, но после закрытия окна imgui он не пропадает
В общем пока понял только одно, что кроме строки SF->getSAMP()->getMisc()->ToggleCursor(3, true); ничего для показа курсора не нужно, по идее когда функция перестаёт вызываться, то курсор сам должен пропадать, но вот почему-то имгуи не даёт ему это сделать.