Исходник ImGui Cursor

EAC Demolisher
Пользователь
Статус
Оффлайн
Регистрация
17 Апр 2020
Сообщения
65
Реакции[?]
52
Поинты[?]
0
тоже самое https://yougame.biz/threads/335262/ только сделал под всех
думаю тут уже разберетесь как засунуть это в пасту


Код:
void custom_cursor(ImVec2 position, float rotation_angle_degrees, ImColor color) {
    float arrow_base_width = 8;
    float arrow_height = 9;   
    float arrow_middle_width = 7;
    float outline_thickness = 2.0f;


    ImVec2 verts[4];
    verts[0] = position;
    verts[1] = ImVec2(position.x - arrow_base_width / 2, position.y + arrow_height);
    verts[2] = ImVec2(position.x, position.y + arrow_middle_width);
    verts[3] = ImVec2(position.x + arrow_base_width / 2, position.y + arrow_height);


    ImVec2 center = ImVec2(position.x, position.y + arrow_height / 2);

    float angle_radians = rotation_angle_degrees * (3.14159f / 180.0f);

    auto rotate_vertex = [&](ImVec2 point, ImVec2 center, float angle) -> ImVec2 {
        float translated_x = point.x - center.x;
        float translated_y = point.y - center.y;

        float rotated_x = translated_x * cos(angle) - translated_y * sin(angle);
        float rotated_y = translated_x * sin(angle) + translated_y * cos(angle);

        return ImVec2(rotated_x + center.x, rotated_y + center.y);
        };

    verts[0] = rotate_vertex(verts[0], center, angle_radians);
    verts[1] = rotate_vertex(verts[1], center, angle_radians);
    verts[2] = rotate_vertex(verts[2], center, angle_radians);
    verts[3] = rotate_vertex(verts[3], center, angle_radians);

    ImDrawList* draw_list = ImGui::GetWindowDrawList();

    draw_list->AddPolyline(verts, 4, color, true, outline_thickness);

    draw_list->AddConvexPolyFilled(verts, 4, color);
}

inline void RenderMenu() noexcept
{
if(Settings::ShowMenu){
    if (ImGui::Begin("Default Menu", &Settings::ShowMenu, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoBringToFrontOnFocus | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoScrollWithMouse | ImGuiWindowFlags_NoBackground)) {

ImVec2 cursor_pos = ImGui::GetMousePos();
custom_cursor(cursor_pos, 320.0f, ImColor(255, 0, 0, 255));
}}
 
Сверху Снизу