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

t.me/maj0rblog
Дизайнер
Статус
Оффлайн
Регистрация
6 Окт 2018
Сообщения
976
Реакции[?]
619
Поинты[?]
12K
Нууу типо вот

C++:
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
 
Забаненный
Статус
Оффлайн
Регистрация
15 Июл 2021
Сообщения
32
Реакции[?]
1
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
С анимейшн?
 
Забаненный
Статус
Оффлайн
Регистрация
23 Авг 2020
Сообщения
2,110
Реакции[?]
597
Поинты[?]
10K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Очень и очень оригинально и красиво.
Анимаций конечно не хватает, но вполне получилось бы сносно!
 
Забаненный
Статус
Оффлайн
Регистрация
25 Июн 2021
Сообщения
43
Реакции[?]
15
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Если это первая работа то ок, если нет-то это очень плохо.
1. Нет анимаций.
2. Зачем?
C++:
 if (hovered || held)
        ImGui::SetMouseCursor(0);
upd: на мой взгляд использовать цвет для бекграунда как основной при включении->тоже так себе.
 
t.me/maj0rblog
Дизайнер
Статус
Оффлайн
Регистрация
6 Окт 2018
Сообщения
976
Реакции[?]
619
Поинты[?]
12K
Если это первая работа то ок, если нет-то это очень плохо.
1. Нет анимаций.
2. Зачем?
C++:
 if (hovered || held)
        ImGui::SetMouseCursor(0);
Думал менять на другой курсор а потом забил, и это вторая работа
 
t.me/maj0rblog
Дизайнер
Статус
Оффлайн
Регистрация
6 Окт 2018
Сообщения
976
Реакции[?]
619
Поинты[?]
12K
Эксперт
Статус
Оффлайн
Регистрация
30 Дек 2019
Сообщения
1,970
Реакции[?]
958
Поинты[?]
19K
t.me/maj0rblog
Дизайнер
Статус
Оффлайн
Регистрация
6 Окт 2018
Сообщения
976
Реакции[?]
619
Поинты[?]
12K
а нахуя мне делать? такой же чекбокс но с анимацией уже лежит тут
Ссылочку на тему можно?
Я ниразу не видел такой чекбокс здесь, и вообще какие либо чекбоксы кроме одного сборника
 
Эксперт
Статус
Оффлайн
Регистрация
30 Дек 2019
Сообщения
1,970
Реакции[?]
958
Поинты[?]
19K
Ссылочку на тему можно?
Я ниразу не видел такой чекбокс здесь, и вообще какие либо чекбоксы кроме одного сборника
C++ - 7 pc Animated Checkbox in ImGui | Игровой форум YouGame.Biz
а для кого Flowseal делал почти все элементы с анимацией
 
Забаненный
Статус
Оффлайн
Регистрация
23 Авг 2020
Сообщения
2,110
Реакции[?]
597
Поинты[?]
10K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Эксперт
Статус
Оффлайн
Регистрация
30 Дек 2019
Сообщения
1,970
Реакции[?]
958
Поинты[?]
19K
183, 40, 255
Участник
Статус
Оффлайн
Регистрация
19 Май 2017
Сообщения
938
Реакции[?]
243
Поинты[?]
24K
выгладит круто и простенько.
а так, когда новенький софтик?
 
Забаненный
Статус
Оффлайн
Регистрация
23 Авг 2020
Сообщения
2,110
Реакции[?]
597
Поинты[?]
10K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Олдфаг
Статус
Оффлайн
Регистрация
4 Янв 2020
Сообщения
2,992
Реакции[?]
1,274
Поинты[?]
19K
Кал, хуже дефолтных, делать подобные чекбоксы без анимаций - бред. Сочетать серый с синим - убожество.
Пользуешься имгуи билдером - имей смелость не сваливать все на свой непрофессионализм...
 
Последнее редактирование:
Сверху Снизу