Page 1 of 2

Реализация скругленных углов окон.

Posted: Sat Nov 13, 2010 1:13 pm
by Mario
В общем навеяно темой и очередным нытьем жопоголиков о том что "гребаный страшный дизайн".

В общем реализация простая и не загрузит систему. Нужно тупо добавить две области в данные SKN, которые описывают скругленный угол и выводить этот кусок с примитивным альфа-каналом (прозрачность) - никакой обработки прозрачности при этом не требуется, просто проверка есть точка или нет. Это гораздо быстрее чем прозрачность, которая требует попиксельной обработки, и не вызовет сильной нагрузки на оконную подсистему. Но жопоголики при этом заткнутся хотя бы по этому пункту.

Сейчас у меня нет времени заниматься реализацией этой фичи. Так что это заметка на будущее, если никто другой не возьмется.

Вот такая эволюция:
new_skn.png
new_skn.png (7.55 KiB)
Viewed 10295 times
Размеры шкурки могут быть КАБАНСКИМИ даже уже сейчас, как это любят жопоголики.

З.Ы. Для особо упоротых жополголиков - нижние углы в W7 скруглены, когда включена прозрачность требующая аппаратной поддержки.

Re: Реализация скругленных углов окон.

Posted: Sat Nov 13, 2010 2:07 pm
by ChE
Хм... а есть ли смысл разбивать на более мелкие части? Можно добавить альфа канал к существующим и сделать возможность прозрачности не только на углах. Или всё из соображения большей скорости отрисовки?

Re: Реализация скругленных углов окон.

Posted: Sat Nov 13, 2010 2:22 pm
by IgorA
Думаю если делать скругления, то окно должно быть квадратным или круглым в зависимости от определенной настройки в самой системе или в конкретном окне приложения. Также могут затребовать еще 2 круглых угла внизу. Так что в скин прийдеться добавлять еще 2 картинки.

Re: Реализация скругленных углов окон.

Posted: Sat Nov 13, 2010 2:31 pm
by Mario
ChE
Да, исключительно скорость. Дырка посредине не нужна, и 5 кусков скина это уже лишний код на самом деле, но он обеспечивает минимальные требования. Остальное это уже совсем экзотика - аппаратного ускорения у нас нет, а писать хитрый и сложный код это не правильный подход.

IgorA
Думаю если делать скругления, то окно должно быть квадратным или круглым в зависимости от определенной настройки в самой системе или в конкретном окне приложения.
Политика единообразия исповедуемая жопоголиками требует чтобы все окна в системе были одинаковыми. Так что определятся какая текущая шкурка будет исключительно форматом устанавливаемой шкурки. Прямоугольные окна естественно никуда не денутся. Даже по сути скругленные окна на самом деле прямоугольные, просто угол не рисуется и все.
Также могут затребовать еще 2 круглых угла внизу. Так что в скин прийдеться добавлять еще 2 картинки.
Для начала хотя бы сверху сделать. Нижняя часть для глаз не настолько заметна, если туда не выводить нижнюю панель отличающуюся цветом. Затребовать они могут и прозрачность и еще какую-нибудь неведомую еб.ху. - они порой такие загадочные, что сами не знаю чего хотят.

Re: Реализация скругленных углов окон.

Posted: Sat Nov 13, 2010 2:56 pm
by Gluk
на мой взгляд, когда ты выводишь мышь в край верхний правый экрана, а там край окна, кликаешь - и тык происходит по рабочему столу, это сложно назвать прогрессом, скорее наоборот - регрессом..

Re: Реализация скругленных углов окон.

Posted: Sat Nov 13, 2010 3:01 pm
by Mario
Gluk
Замечательно. Теперь растолкуй это жопоголикам. Которые надувая щеки рассказывают какие замечательные Висты, Семеры, Леопарды и КДЕ4...

Re: Реализация скругленных углов окон.

Posted: Sat Nov 13, 2010 4:33 pm
by SoUrcerer
Не знаю, как у вас, а у меня при развороте на весь экран скругленные углы превращаются в прямоугольные.

Re: Реализация скругленных углов окон.

Posted: Sat Nov 13, 2010 7:17 pm
by Gluk
Sorcerer, кто говорил про разворот на весь экран?

Re: Реализация скругленных углов окон.

Posted: Sat Nov 13, 2010 7:23 pm
by SoUrcerer
Gluk wrote:на мой взгляд, когда ты выводишь мышь в край верхний правый экрана, а там край окна, кликаешь - и тык происходит по рабочему столу, это сложно назвать прогрессом, скорее наоборот - регрессом..
Мне всегда почему-то казалось, что такое работает лишь тогда, когда окно развернуто на весь экран

Re: Реализация скругленных углов окон.

Posted: Sat Nov 13, 2010 7:34 pm
by Gluk
что? тык по рабочему столу когда окно в уголок впихнуто, если края скругленные? да всегда, когда окно в угол экрана впихнуто. И это далеко не всегда значит полноэкранный режим (когда система может сквадратить края)

Re: Реализация скругленных углов окон.

Posted: Sat Nov 13, 2010 8:24 pm
by Gluk
[offtop]1000я тема форума. Еще 24 темы до юбилея[/offtop]

Re: Реализация скругленных углов окон.

Posted: Sun Nov 14, 2010 4:43 am
by Rock_maniak_forever
А совместимасть со старыми шкурками есть\будет :?:

Re: Реализация скругленных углов окон.

Posted: Sun Nov 14, 2010 11:51 am
by Mario
Rock_maniak_forever wrote:А совместимасть со старыми шкурками есть\будет :?:
Этому ничего не мешает. Так что да.

Re: Реализация скругленных углов окон.

Posted: Sun Nov 14, 2010 1:15 pm
by DmitrySokolowsky
Mario, зачем идти на поводу у хомячков, которым нужны красивости? Вот из-за таких хомячков винда и линукс стали такими тормозными.

Re: Реализация скругленных углов окон.

Posted: Sun Nov 14, 2010 4:00 pm
by Mario
Атауальпа
А кто сказал, что я иду на поводу? Это лишь идея пока - никто ведь не изъявил желания поработать, все только поговорить желание изъявляют. Это во-первых. Во-вторых, то что я предложил замедлит вывод окна от силы на 0,5-1% и то лишь при работе кода выводящего скругленную часть, если шкурка будет прямоугольной как раньше, то скорость останется прежней.