LINUX.ORG.RU

[GUI]Как быстро определить какая кнопка на экране нажата

 


0

3

В силу некоторых причин пишу свой GUI.

В мою функцию передаётся что сделали (нажали или отжали), код кнопки и где нажали (x и y).

В окне есть мои кнопочки. Сейчас сделано так: перебираются по очереди эти кнопочки — сравнивается x и y с координатами каждой и как только окажется что x и y внутри кнопки — вызывается функция-обработчик для этой кнопки.

Меня терзают смутные сомнения по поводу эффективности такого метода поиска кнопки которую нажали. Может быть есть более эффективный метод?

★★★

Последнее исправление: LinuxUser (всего исправлений: 1)
Ответ на: комментарий от dave

А много ли у тебя кнопок? Если меньше десяти-шестнадцати, то я бы не парился по этому поводу. Дешевле пройтись тупым перебором, чем устраивать сложные хитроумные «оптимизации».

В каком месте тут «хитроумные оптимизации»? Это фича OpenGL. Она в приведённом мной примере подробно разобрана.

Кроме того «тупой перебор» не заработает, если ТС захочет вдруг сделать интерфейс трёхмерным (кнопки в пространстве там - такая задача в игрушках может понадобиться), то он пожалеет, что делал «тупо».

invy ★★★★★
()
Ответ на: комментарий от invy

Пожалеет, что потратил уйму времени на такой сложный алгоритм, как «тупой перебор» ))

arturpub ★★
()
Ответ на: комментарий от invy

В каком месте тут «хитроумные оптимизации»? Это фича OpenGL. Она в приведённом мной примере подробно разобрана.

Если фича, то это здорово. Ничего против не имею :)

dave ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.