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

Реализация скругленных углов окон.
http://board.kolibrios.org/viewtopic.php?f=36&t=1612
Page 1 of 2

Author:  Mario [ Sat Nov 13, 2010 1:13 pm ]
Post subject:  Реализация скругленных углов окон.

В общем навеяно темой и очередным нытьем жопоголиков о том что "гребаный страшный дизайн".

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

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

Вот такая эволюция:
Attachment:
new_skn.png
new_skn.png [ 7.55 KiB | Viewed 3353 times ]


Размеры шкурки могут быть КАБАНСКИМИ даже уже сейчас, как это любят жопоголики.

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

Author:  ChE [ Sat Nov 13, 2010 2:07 pm ]
Post subject:  Re: Реализация скругленных углов окон.

Хм... а есть ли смысл разбивать на более мелкие части? Можно добавить альфа канал к существующим и сделать возможность прозрачности не только на углах. Или всё из соображения большей скорости отрисовки?

Author:  IgorA [ Sat Nov 13, 2010 2:22 pm ]
Post subject:  Re: Реализация скругленных углов окон.

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

Attachments:
wnd_4_circle.png
wnd_4_circle.png [ 10.23 KiB | Viewed 7260 times ]

Author:  Mario [ Sat Nov 13, 2010 2:31 pm ]
Post subject:  Re: Реализация скругленных углов окон.

ChE
Да, исключительно скорость. Дырка посредине не нужна, и 5 кусков скина это уже лишний код на самом деле, но он обеспечивает минимальные требования. Остальное это уже совсем экзотика - аппаратного ускорения у нас нет, а писать хитрый и сложный код это не правильный подход.

IgorA
Quote:
Думаю если делать скругления, то окно должно быть квадратным или круглым в зависимости от определенной настройки в самой системе или в конкретном окне приложения.

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

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

Author:  Gluk [ Sat Nov 13, 2010 2:56 pm ]
Post subject:  Re: Реализация скругленных углов окон.

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

Author:  Mario [ Sat Nov 13, 2010 3:01 pm ]
Post subject:  Re: Реализация скругленных углов окон.

Gluk
Замечательно. Теперь растолкуй это жопоголикам. Которые надувая щеки рассказывают какие замечательные Висты, Семеры, Леопарды и КДЕ4...

Author:  SoUrcerer [ Sat Nov 13, 2010 4:33 pm ]
Post subject:  Re: Реализация скругленных углов окон.

Не знаю, как у вас, а у меня при развороте на весь экран скругленные углы превращаются в прямоугольные.

Author:  Gluk [ Sat Nov 13, 2010 7:17 pm ]
Post subject:  Re: Реализация скругленных углов окон.

Sorcerer, кто говорил про разворот на весь экран?

Author:  SoUrcerer [ Sat Nov 13, 2010 7:23 pm ]
Post subject:  Re: Реализация скругленных углов окон.

Gluk wrote:
на мой взгляд, когда ты выводишь мышь в край верхний правый экрана, а там край окна, кликаешь - и тык происходит по рабочему столу, это сложно назвать прогрессом, скорее наоборот - регрессом..

Мне всегда почему-то казалось, что такое работает лишь тогда, когда окно развернуто на весь экран

Author:  Gluk [ Sat Nov 13, 2010 7:34 pm ]
Post subject:  Re: Реализация скругленных углов окон.

что? тык по рабочему столу когда окно в уголок впихнуто, если края скругленные? да всегда, когда окно в угол экрана впихнуто. И это далеко не всегда значит полноэкранный режим (когда система может сквадратить края)

Author:  Gluk [ Sat Nov 13, 2010 8:24 pm ]
Post subject:  Re: Реализация скругленных углов окон.

[offtop]1000я тема форума. Еще 24 темы до юбилея[/offtop]

Author:  Rock_maniak_forever [ Sun Nov 14, 2010 4:43 am ]
Post subject:  Re: Реализация скругленных углов окон.

А совместимасть со старыми шкурками есть\будет :?:

Author:  Mario [ Sun Nov 14, 2010 11:51 am ]
Post subject:  Re: Реализация скругленных углов окон.

Rock_maniak_forever wrote:
А совместимасть со старыми шкурками есть\будет :?:

Этому ничего не мешает. Так что да.

Author:  DmitrySokolowsky [ Sun Nov 14, 2010 1:15 pm ]
Post subject:  Re: Реализация скругленных углов окон.

Mario, зачем идти на поводу у хомячков, которым нужны красивости? Вот из-за таких хомячков винда и линукс стали такими тормозными.

Author:  Mario [ Sun Nov 14, 2010 4:00 pm ]
Post subject:  Re: Реализация скругленных углов окон.

Атауальпа
А кто сказал, что я иду на поводу? Это лишь идея пока - никто ведь не изъявил желания поработать, все только поговорить желание изъявляют. Это во-первых. Во-вторых, то что я предложил замедлит вывод окна от силы на 0,5-1% и то лишь при работе кода выводящего скругленную часть, если шкурка будет прямоугольной как раньше, то скорость останется прежней.

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