Comments: |
![[User Picture]](http://lj.rossia.org/userpic/197531/22349) | From: | ketmar |
Date: | June 15th, 2015 - 11:04 am |
---|
| | | (Link) |
|
на самом деле при создании виджета можно сказать, что он пиксмап хочет, и спокойно рисовать тудыть. обработчик expose достаточно умный, чтобы это увидеть и блитнуть грязную часть. с точки зрения рисовалки — у неё есть GC и Drawable, а что уж в них будет — окно или пиксмап — большинству кода по барабану.
![[User Picture]](http://lj.rossia.org/userpic/197531/22349) | From: | ketmar |
Date: | June 15th, 2015 - 11:06 am |
---|
| | | (Link) |
|
а про загрузку картинок и прочего… это вот один специальный класс «картинка» и требует больше всего заботы. и то только в том случае, если он динамически создан — а в большинстве случаев динамически созданые пиксмапы, как я писал, просто back buffers, которые можно тупо пересоздать.
в принципе, владелец картинки по правилам тулкита обязан реагировать на событие «картинка, которой я владею, требует регенерации». считается, что если на это событие никто не реагирует, то тулкит вправе тупо пересоздать пиксмап с теми же размерами и считать, что картинка отрегенерирована.
![[User Picture]](http://lj.rossia.org/userpic/197531/22349) | From: | ketmar |
Date: | June 15th, 2015 - 11:10 am |
---|
| | | (Link) |
|
p.s. фича тулкита в том, что после стадии realize (т.е. выплёвывания всего в X11) никакие изменения, окромя косметических, в иерархию уже вносить нельзя. т.е. ты можешь двигать виджеты, менять размеры, но не можешь добавлять или убирать. то же самое относится к пиксмапам, которыми кто‐то обязан владеть.
почему? потому что при вызове realize владелец неизбежно получает событие «регенерировать пиксмап», и обязан уметь это делать столько раз, сколько надо. так архитектурно получилось, и это отлично ложится на пересоздание.
собственно, фича «realize-unrealize-modify-realize» была запланирована изначально. просто я не сразу заметил, что если в неё добавить «emergency mode» — то есть, насильственный unrealize, то можно спокойно пережить смену икс‐сервера.
From: | (Anonymous) |
Date: | June 15th, 2015 - 03:08 pm |
---|
| | | (Link) |
|
А твой тулкит будет работать под Mir?
![[User Picture]](http://lj.rossia.org/userpic/197531/22349) | From: | ketmar |
Date: | June 15th, 2015 - 03:39 pm |
---|
| | | (Link) |
|
всяким говном не интересуюсь. есть X11. больше ничего нет.
From: | (Anonymous) |
Date: | June 15th, 2015 - 04:27 pm |
---|
| | | (Link) |
|
А разве в будущем на линуксе X11 останется? Главный начальник сказал, что перейдут на Mir.
![[User Picture]](http://lj.rossia.org/userpic/197531/22349) | From: | ketmar |
Date: | June 15th, 2015 - 04:42 pm |
---|
| | | (Link) |
|
я знать не знаю, кто у тебя там главный начальник. и мне это совершенно неинтересно.
From: | (Anonymous) |
Date: | June 15th, 2015 - 04:44 pm |
---|
| | | (Link) |
|
Марк Шатлворт главный в убунте, разве не он?
![[User Picture]](http://lj.rossia.org/userpic/197531/22349) | From: | ketmar |
Date: | June 15th, 2015 - 04:58 pm |
---|
| | | (Link) |
|
меня‐то отчего должно волновать, что там происходит в бубунте и кто там у них главный?
From: | (Anonymous) |
Date: | June 15th, 2015 - 05:00 pm |
---|
| | | (Link) |
|
А что, бывает другой линукс?
From: | (Anonymous) |
Date: | June 16th, 2015 - 12:30 am |
---|
| | | (Link) |
|
бля, сука, тебя даже не потроллишь
И да, я вообще не представляю, как работать без double buffering. То есть оно мерцает при скорости отрисовки менее 100fps. Я понимаю, что у тебя пока что быстрее, но...
![[User Picture]](http://lj.rossia.org/userpic/197531/22349) | From: | ketmar |
Date: | June 15th, 2015 - 07:35 pm |
---|
| | | (Link) |
|
какие сто фпс, куда, зачем? если тулкит перерисовывается с такой скоростью, автор тулкита ебанарий.
![[User Picture]](http://lj.rossia.org/userpic/197531/22349) | From: | ketmar |
Date: | June 15th, 2015 - 07:36 pm |
---|
| | | (Link) |
|
в смысле — нужна быстрая графика? создал opengl-окно и ебошь, хуле дел‐то. а тулкиту зачем интенсивно рисоваться — не ясно. ну, может моргнёт, кода восстанавливает перекрытую часть окна. да и хуй с ним.
В смысле -- если тулкит неуспевает отрисовывать за 1/100 с, то получается мерцание всякое.
![[User Picture]](http://lj.rossia.org/userpic/197531/22349) | From: | ketmar |
Date: | June 16th, 2015 - 02:58 pm |
---|
| | | (Link) |
|
так надо ж аккуратно рисовать зачем же рисовать, потом стирать, потом опять рисовать… контролы — они несложные. строки рисуем сразу фоном. пустые места — если есть — бережно докрашиваем прямоугольниками. остаются мелочи вроде фокусных рамочек, что действительно рисуется очень быстро и совершенно не мешает.
![[User Picture]](http://lj.rossia.org/userpic/197531/22349) | From: | ketmar |
Date: | June 16th, 2015 - 02:58 pm |
---|
| | | (Link) |
|
«с фоном».
Window Maker вообще гениальный. Наверное, самый гениальный WM ever. Кстати, Unity носит отчётливо его черты, только с перделками и свистелками.
![[User Picture]](http://lj.rossia.org/userpic/197531/22349) | From: | ketmar |
Date: | June 16th, 2015 - 02:29 am |
---|
| | | (Link) |
|
а сразу и не скажешь, что его, тащемта, спиздили с некстов… потому что кто те нексты видел? | |