Подведи собственные итоги года совместно с YOUGAME и забери ценные призы! Перейти

Вопрос Togglebutton

  • Автор темы Автор темы retropt
  • Дата начала Дата начала
Забаненный
Забаненный
Статус
Оффлайн
Регистрация
18 Июл 2020
Сообщения
925
Реакции
200
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
вообщем, как убрать внутренний цвет, чтобы только обводка была?
У меня:
est.png


надо):
nado.png


цвета менять пытался

код:
C++:
Expand Collapse Copy
void ToggleSwitch(const char* str_id, bool* v)
    {
        ImVec2 p = ImGui::GetCursorScreenPos();
        ImDrawList* draw_list = ImGui::GetWindowDrawList();

        float height = 13.2f; // высота float height = ImGui::GetFrameHeight();
        float width = height * 1.5f; // ширина
        float radius = height * 0.50f;

        ImGui::InvisibleButton(str_id, ImVec2(width, height));
        if (ImGui::IsItemClicked())
            *v = !*v;

        float t = *v ? 1.0f : 0.0f;

        ImGuiContext& g = *GImGui;
        float ANIM_SPEED = 0.2f;
        if (g.LastActiveId == g.CurrentWindow->GetID(str_id))// && g.LastActiveIdTimer < ANIM_SPEED)
        {
            float t_anim = ImSaturate(g.LastActiveIdTimer / ANIM_SPEED);
            t = *v ? (t_anim) : (1.0f - t_anim);
        }

        ImU32 col_bg;
        if (ImGui::IsItemHovered())
            col_bg = ImGui::GetColorU32(ImLerp(ImVec4(0.78f, 0.78f, 0.78f, 0.0f), ImVec4(0.64f, 0.83f, 0.34f, 1.0f), t));
        else
            col_bg = ImGui::GetColorU32(ImLerp(ImVec4(0.85f, 0.85f, 0.85f, 1.0f), ImVec4(0.56f, 0.83f, 0.26f, 1.0f), t));

        draw_list->AddRectFilled(p, ImVec2(p.x + width, p.y + height), IM_COL32(255, 255, 255, 255), height * 0.5f);
        draw_list->AddCircleFilled(ImVec2(p.x + radius + t * (width - radius * 2.0f), p.y + radius), radius - 1.5f, IM_COL32(93, 12, 168, 255));
    }
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
вроде эта строка, попробуй удалить
draw_list->AddRectFilled(p, ImVec2(p.x + width, p.y + height), IM_COL32(255, 255, 255, 255), height * 0.5f);
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Код:
Expand Collapse Copy
        draw_list->AddRectFilled(p, ImVec2(p.x + width, p.y + height), IM_COL32(255, 255, 255, 255), height * 0.5f);
to
Код:
Expand Collapse Copy
        draw_list->AddRect(p, ImVec2(p.x + width, p.y + height), IM_COL32(255, 255, 255, 255), height * 0.5f);
 
Назад
Сверху Снизу