Как сделать кликабельным только непрозрачное поле?

Есть кнопка, по факту спрайт с текстурой:

Texture texture;
Sprite ok;
texture.loadFromFile("textures/"+texturetxt+".png");
cout << "loaded texture from textures/" + texturetxt + ".png"<<endl;
ok.setTexture(texture);

Клик проверяется так:

if (e.type == Event::MouseButtonReleased&&e.key.code == Mouse::Left) {
        if (ok.getGlobalBounds().contains(mp.x, mp.y)) {//mp - выравненная позиция мыши
            //...
        }
    }

Проблема: есть у меня текстура кнопки, которая имеет сложную форму и прозрачный фон. Клик обрабатывается даже когда кликнули по этому фону (пустоте). В интернете не смог отрыть вообще ничего по этому вопросу, т. к. все делают простые кнопки без текстур. Как решать? У меня много кнопок рядом стоят, места не хватает из за кликабельного фона.


Ответы (0 шт):