C++ Крутые чекбоксы на ImGui для вашего чита

Как вам

  • Хорошо

    Голосов: 45 81.8%
  • Плохо

    Голосов: 10 18.2%

  • Всего проголосовало
    55
t.me/maj0rblog
Дизайнер
Дизайнер
Статус
Оффлайн
Регистрация
6 Окт 2018
Сообщения
965
Реакции
621
Всем привет!
Сделал свои первые чекбоксы на ImGui
Хочу знать как вам

C++:
Expand Collapse Copy
bool ImGui::Checkbox(const char* label, bool* v)
{
    ImGuiWindow* window = GetCurrentWindow();
    if (window->SkipItems)
        return false;

    ImGuiContext& g = *GImGui;
    const ImGuiStyle& style = g.Style;
    const ImGuiID id = window->GetID(label);
    const ImVec2 label_size = ImGui::CalcTextSize(label, NULL, true);
    const float square_sz = ImGui::GetFrameHeight();
    const ImVec2 pos = window->DC.CursorPos;
    const ImRect total_bb(pos, pos + ImVec2(square_sz + (style.ItemInnerSpacing.x + label_size.x + 0), 0 + label_size.y + style.FramePadding.y * 2));
    ItemSize(total_bb, style.FramePadding.y);
    ItemAdd(total_bb, id);

    bool hovered, held;
    bool pressed = ButtonBehavior(total_bb, id, &hovered, &held);

    if (hovered || held)
        ImGui::SetMouseCursor(0);

    if (pressed)
        *v = !(*v);


    if (*v)
    {
        window->DrawList->AddCircleFilled(ImVec2(total_bb.Min.x + 10, total_bb.Min.y + 10), 10, ImColor(25, 25, 25, 255), 0);
        window->DrawList->AddCircle(ImVec2(total_bb.Min.x + 10, total_bb.Min.y + 10), 10, ImColor(62, 62, 62, 255), 0, 1.000000);
        window->DrawList->AddCircleFilled(ImVec2(total_bb.Min.x + 10, total_bb.Min.y + 10), 5, ImColor(cfg.menu.color.r(), cfg.menu.color.g(), cfg.menu.color.b(), 255), 0);
    }
    else
    {
        window->DrawList->AddCircleFilled(ImVec2(total_bb.Min.x + 10, total_bb.Min.y + 10), 10, ImColor(25, 25, 25, 255), 0);
        window->DrawList->AddCircle(ImVec2(total_bb.Min.x + 10, total_bb.Min.y + 10), 10, ImColor(62, 62, 62, 255), 0, 1.000000);
    }

    ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(229 / 255.f, 229 / 255.f, 229 / 255.f, 255 / 255.f));
    ImGui::RenderText(ImVec2(total_bb.Min.x + style.ItemInnerSpacing.x + 20, total_bb.Min.y + style.FramePadding.y + 0), label);
    ImGui::PopStyleColor();
    return pressed;
}

Превью :
1626345952510.png
 
Вроде бы ничего. Но как мне кажется, серый кружок слишком большой
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Вроде бы ничего. Но как мне кажется, серый кружок слишком большой
честно говоря вщ не круто смотрятся круглые чекбоксы, тк сам концепт меню - прямоугольник
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
круглые чекбоксы не очень смотрятся, а так норм.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
"Крутые" вобще полностю нет вобще не капельку похожее на какашку
 
Назад
Сверху Снизу