По мотивам обсуждения - http://board.kolibrios.org/viewtopic.php?p=71527#p71527
Имхо при сворачивании не должно оставаться никаких дополнительных рамочек, а окно должно сворачиваться в заголовок и ничего более. Соответственно не придётся предпринимать никаких дополнительных усилий по контролю свёрнутости окна, рисованию на оставшейся полоске и т.п.
В приложении тестовое ядро, где я попытался убрать полоску.
Просьба погонять чуток, вдруг чего выпадет. Ну, или понаписать, что полоска очень нужна и ничего с ней делать не надо.
Сворачивание окна в заголовок
-
- Attachments
-
-
kernel.zip (105.05 KiB)Downloaded 317 times
-
Проблема не в самой полоске, я про это говорил http://board.kolibrios.org/viewtopic.php?p=71527#p71539lev wrote:Ну, или понаписать, что полоска очень нужна и ничего с ней делать не надо.
Если бы ядро не позволяло рисовать на нижнем и правом крае окна, то дополнительного контроля и не нужно было бы.lev wrote:Соответственно не придётся предпринимать никаких дополнительных усилий по контролю свёрнутости окна, рисованию на оставшейся полоске и т.п.
Фиксить ИМХО нужно другое.
А я не говорил - http://board.kolibrios.org/viewtopic.php?p=57018#p57018
Я ещё тогда, и задолго до того присматривался, с какого боку подойти, но так и не справился, не ассемблерщик я. А тут всего одну строчку поменять для теста.
Я ещё тогда, и задолго до того присматривался, с какого боку подойти, но так и не справился, не ассемблерщик я. А тут всего одну строчку поменять для теста.
Я же отписался в той же теме на 4 комента ниже http://board.kolibrios.org/viewtopic.php?p=71527#p71552
Описанный способ позволит избежать лишних проверок, как в варианте 0CorErr. К тому же иногда нужно рисовать на скине, см. например Календарь.
В ядре из этой темы проблема не пофикшена.у некоторых скинов есть проблема помеченная на скрине: открытые линии в углах. Ее можно избежать, если поверх низа скина рисовать линию толщиной 1px цвета внешнего бордера.
Описанный способ позволит избежать лишних проверок, как в варианте 0CorErr. К тому же иногда нужно рисовать на скине, см. например Календарь.
- Attachments
-
-
sk.png (7.98 KiB)Viewed 11386 times
-
Из хаоса в космос
Тут ведь не только свёрнутое в заголовок окно нужно фиксить, как lev и писал ранее http://board.kolibrios.org/viewtopic.php?p=57018#p57018
Насколько помню, проблема в том, что одна и та же процедура рисует и пиксели в окне, и пиксели скина(в том числе нижнюю и правую рамки).
Пиксели окна не нужно рисовать на нижней и правой рамке, а пиксели скина нужно.
Дополнительные проверки замедлили бы код отрисовки внутри окна.
Значит, остаётся
Когда я раньше пробовал это пофиксить, то дополнительных проверок не делал, и не только "элементы интерфейса", но и нижняя и правая рамки просто совсем не рисовались.
Поэтому пофиксить реально, варианты:
Насколько помню, проблема в том, что одна и та же процедура рисует и пиксели в окне, и пиксели скина(в том числе нижнюю и правую рамки).
Пиксели окна не нужно рисовать на нижней и правой рамке, а пиксели скина нужно.
Дополнительные проверки замедлили бы код отрисовки внутри окна.
Значит, остаётся
Пусть назовём её PutSkinPixel.lev wrote:2) Завести дубль функции PutPixel
Когда я раньше пробовал это пофиксить, то дополнительных проверок не делал, и не только "элементы интерфейса", но и нижняя и правая рамки просто совсем не рисовались.
Поэтому пофиксить реально, варианты:
- сделать дополнительно PutSkinPixel
добавить дополнительные проверки
Who is online
Users browsing this forum: No registered users and 0 guests