LINUX.ORG.RU

Виджет для рисования

 


0

1

ЛОР, какой нужно использовать виджет в GTK3 для рисования внутри всякой всячины?

Вроде и DrawingArea есть, но в документации сказано, что оно придумано для создания своих виджетов. Да и рисование происходит по вызову события draw, а следовательно рисунок перерисовывается периодически, а не один раз, при запуске программы. Есть ли что-то более подходящее для таких целей?

★★★★★

Последнее исправление: sphericalhorse (всего исправлений: 3)

drawingarea самое то. и да, рисовать надо по событию draw. если нужно не рисовать, а просто отображать картинку — есть gtkimage.

waker ★★★★★
()

То есть ты хочешь один раз нарисовать что-то на виджете, а на то что с ним будет когда ему будут хотя бы менять размер — забить. Я правильно тебя понимаю?

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

Да. Моя цель не виджет сделать, а треугольник нарисовать. Или просто в окошко выводить результат моих мучений с Кайро.

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

Как сказать, если ты будешь менять размер, то один раз нарисовал и забыл не подойдет. Вообще лучше DrawingArea+Cairo, не думаю что ты много там наоптимизируешь. Если реально графика сложная, но одноразовая и без именений, то можешь в какой-то surface нарисовать и потом отрисовывать все равно в DrawingArea

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

А о чём собственно речь вообще? Разве в gtk по случаю draw event'а нельзя узнать какая часть нуждается в перерисовке и перерисовать только её?

KblCb ★★★★★
()

Возможно, в третьегэтэках есть аналог gtkglext. Удобная штука для рисования всякой всячины.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от fat_angel

Я примерно это и имел в виду.

Можно воспользоваться канвой из gnome-office: не сказать чтоб шибко продвинутая и быстро развивающаяся, но зато её наверняка не бросят внезапно.

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

GtkGLExt не канает, так как я хочу для начала с Кайрой научиться работать. В общем то тема решена.

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