• Ищем качественного (не новичок) разработчиков Xenforo для этого форума! В идеале, чтобы ты был фулл стек программистом. Если у тебя есть что показать, то свяжись с нами по контактным данным: https://t.me/DREDD

C++ Мои новые чекбоксы на оценочку

t.me/maj0rblog
Дизайнер
Дизайнер
Статус
Оффлайн
Регистрация
6 Окт 2018
Сообщения
974
Реакции
624
Нууу типо вот

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->AddRectFilled(ImVec2(total_bb.Min.x + 0, total_bb.Min.y + 2), ImVec2(total_bb.Min.x + 30, total_bb.Min.y + 18), ImColor(g_cfg.menu.color.r(), g_cfg.menu.color.g(), g_cfg.menu.color.b(), 255), 10, 15);
        window->DrawList->AddRectFilled(ImVec2(total_bb.Min.x + 15, total_bb.Min.y + 4), ImVec2(total_bb.Min.x + 28, total_bb.Min.y + 16), ImColor(86, 86, 86, 255), 15, 15);
    }
    else
    {
        window->DrawList->AddRectFilled(ImVec2(total_bb.Min.x + 0, total_bb.Min.y + 2), ImVec2(total_bb.Min.x + 30, total_bb.Min.y + 18), ImColor(43, 43, 43, 255), 10, 15);
        window->DrawList->AddRectFilled(ImVec2(total_bb.Min.x + 2, total_bb.Min.y + 4), ImVec2(total_bb.Min.x + 15, total_bb.Min.y + 16), ImColor(86, 86, 86, 255), 15, 15);
    }

    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 + 30, total_bb.Min.y + style.FramePadding.y + 0), label);
    ImGui::PopStyleColor();
    return pressed;
}

SS:
1626526197142.png
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
С анимейшн?
 
красиво получилось, молодец. мне нравится.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Очень и очень оригинально и красиво.
Анимаций конечно не хватает, но вполне получилось бы сносно!
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Если это первая работа то ок, если нет-то это очень плохо.
1. Нет анимаций.
2. Зачем?
C++:
Expand Collapse Copy
 if (hovered || held)
        ImGui::SetMouseCursor(0);

upd: на мой взгляд использовать цвет для бекграунда как основной при включении->тоже так себе.
 
Если это первая работа то ок, если нет-то это очень плохо.
1. Нет анимаций.
2. Зачем?
C++:
Expand Collapse Copy
 if (hovered || held)
        ImGui::SetMouseCursor(0);
Думал менять на другой курсор а потом забил, и это вторая работа
 
а нахуя мне делать? такой же чекбокс но с анимацией уже лежит тут
Ссылочку на тему можно?
Я ниразу не видел такой чекбокс здесь, и вообще какие либо чекбоксы кроме одного сборника
 
Ссылочку на тему можно?
Я ниразу не видел такой чекбокс здесь, и вообще какие либо чекбоксы кроме одного сборника
C++ - 7 pc Animated Checkbox in ImGui | Игровой форум YouGame.Biz
а для кого @Flowseal делал почти все элементы с анимацией
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
выгладит круто и простенько.
а так, когда новенький софтик?
 
Кал, хуже дефолтных, делать подобные чекбоксы без анимаций - бред. Сочетать серый с синим - убожество.
Пользуешься имгуи билдером - имей смелость не сваливать все на свой непрофессионализм...
 
Последнее редактирование:
Назад
Сверху Снизу