Board.KolibriOS.org
http://board.kolibrios.org/

Сворачивание окна в заголовок
http://board.kolibrios.org/viewtopic.php?f=36&t=3784
Page 1 of 1

Author:  lev [ Tue Oct 23, 2018 7:33 pm ]
Post subject:  Сворачивание окна в заголовок

По мотивам обсуждения - viewtopic.php?p=71527#p71527
Имхо при сворачивании не должно оставаться никаких дополнительных рамочек, а окно должно сворачиваться в заголовок и ничего более. Соответственно не придётся предпринимать никаких дополнительных усилий по контролю свёрнутости окна, рисованию на оставшейся полоске и т.п.
В приложении тестовое ядро, где я попытался убрать полоску.
Просьба погонять чуток, вдруг чего выпадет. Ну, или понаписать, что полоска очень нужна и ничего с ней делать не надо.

Attachments:
kernel.zip [105.05 KiB]
Downloaded 99 times

Author:  0CodErr [ Tue Oct 23, 2018 7:41 pm ]
Post subject:  Re: Сворачивание окна в заголовок

lev wrote:
Ну, или понаписать, что полоска очень нужна и ничего с ней делать не надо.
Проблема не в самой полоске, я про это говорил viewtopic.php?p=71527#p71539
lev wrote:
Соответственно не придётся предпринимать никаких дополнительных усилий по контролю свёрнутости окна, рисованию на оставшейся полоске и т.п.
Если бы ядро не позволяло рисовать на нижнем и правом крае окна, то дополнительного контроля и не нужно было бы.
Фиксить ИМХО нужно другое.

Author:  lev [ Tue Oct 23, 2018 8:01 pm ]
Post subject:  Re: Сворачивание окна в заголовок

А я не говорил - viewtopic.php?p=57018#p57018
Я ещё тогда, и задолго до того присматривался, с какого боку подойти, но так и не справился, не ассемблерщик я. А тут всего одну строчку поменять для теста.

Author:  Leency [ Wed Oct 24, 2018 2:02 am ]
Post subject:  Re: Сворачивание окна в заголовок

Я же отписался в той же теме на 4 комента ниже viewtopic.php?p=71527#p71552
Quote:
у некоторых скинов есть проблема помеченная на скрине: открытые линии в углах. Ее можно избежать, если поверх низа скина рисовать линию толщиной 1px цвета внешнего бордера.
В ядре из этой темы проблема не пофикшена.

Описанный способ позволит избежать лишних проверок, как в варианте 0CorErr. К тому же иногда нужно рисовать на скине, см. например Календарь.

Attachments:
sk.png
sk.png [ 7.98 KiB | Viewed 2007 times ]

Author:  0CodErr [ Wed Oct 24, 2018 10:28 am ]
Post subject:  Re: Сворачивание окна в заголовок

Тут ведь не только свёрнутое в заголовок окно нужно фиксить, как lev и писал ранее viewtopic.php?p=57018#p57018
Насколько помню, проблема в том, что одна и та же процедура рисует и пиксели в окне, и пиксели скина(в том числе нижнюю и правую рамки).
Пиксели окна не нужно рисовать на нижней и правой рамке, а пиксели скина нужно.
Дополнительные проверки замедлили бы код отрисовки внутри окна.
Значит, остаётся
lev wrote:
2) Завести дубль функции PutPixel
Пусть назовём её PutSkinPixel.
Когда я раньше пробовал это пофиксить, то дополнительных проверок не делал, и не только "элементы интерфейса", но и нижняя и правая рамки просто совсем не рисовались.

Поэтому пофиксить реально, варианты:
    сделать дополнительно PutSkinPixel
    добавить дополнительные проверки
Первый — лучше.

Page 1 of 1 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/