Board.KolibriOS.org

Official KolibriOS board
It is currently Tue May 21, 2019 2:40 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 66 posts ]  Go to page Previous 1 2 3 4 5 Next
Author Message
PostPosted: Sun May 25, 2014 2:00 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Ну вот кому-то нужны кнопки с углами, кому-то рамки с углами, а кому-то захочется только 3 угла, а не 4, кому-то угол наклона нужен будет другой, и т.п. Я считаю подобные вещи должны быть в библиотеке. Так уж исторически сложилось, что кнопки находятся в ядре.

Но раз говоришь "кода мало займет", то почему бы и не сделать, если тебе самому очень хочется?
Akyltist wrote:
еще вроде кнопки рисуются шире на один пиксель, чем задано при вызове - это фиксить? Просто в том же калькуляторе вызов идет 19x28, а рисуются 19х29. Если пофиксить то, некоторый софт будет смотреться коряво, но все равно править.
Когда-то писал в ЛС Leency:
0CodErr wrote:
А с кнопками какой-то непорядок. Они рисуются на пиксель правее и ниже, но при этом не реагируют на нажатие в том месте. Я тему на форуме нашёл, плохо, что сразу не исправили.
Было бы здорово поправить ещё и софт после этого. Но сначала желательно хотя бы примерно определить объём работы.

UPD:

А может они как раз правильно рисуются? http://websvn.kolibrios.org/filedetails ... xt#line-82
Quote:
Размеры окна понимаются в смысле координат правого нижнего угла.
Это же относится и ко всем остальным функциям.


Top
   
PostPosted: Sun May 25, 2014 2:32 pm 
Offline
KSoC/GSoC Student

Joined: Wed Jul 11, 2012 3:17 am
Posts: 224
0CodErr wrote:
Я считаю подобные вещи должны быть в библиотеке. Так уж исторически сложилось, что кнопки находятся в ядре. Но раз говоришь "кода мало займет", то почему бы и не сделать, если тебе самому очень хочется?
Было бы здорово поправить ещё и софт после этого. Но сначала желательно хотя бы примерно определить объём работы.
А может они как раз правильно рисуются? http://websvn.kolibrios.org/filedetails ... xt#line-82
Quote:
Размеры окна понимаются в смысле координат правого нижнего угла.
Это же относится и ко всем остальным функциям.

Тоже кажется что логичней в библиотеке, но так как окно само отрисвывается ядром, как и кнопки "закрытия" и "минимизации" - то дублирование функционало будет очевидным (. так уж сложилось что в ядре. Мне запилить не проблема, с оптимизациями если что думаю поможете (всё таки я в асме еще новичек), вопрос в другом, возможно эти 4 бита можно применить для чего-то другого, вдруг кто-то на них расчитывал, отсюда и вопрос.

PS: если я не ошибаюсь, там речь всё таки про окна. А сделать дополнительный decrement, чтобы такого не было с кнопками не сложно (Сделаю, выложу скрин посмотреть случилась ли катострофа, а там видно будет).

Сделал fix на координаты кнопки и на её высоту. Скрин:
Spoiler: Show
Image


Top
   
PostPosted: Mon May 26, 2014 7:42 am 
Offline
User avatar

Joined: Sat Oct 05, 2013 9:32 pm
Posts: 386
Если рисовать не чёрный прямоугольник при нажатии, как сейчас, а 1)слева и вверху линии цветом с тень; 2) снизу и справа линии цветом с кнопку, то получиться классных эффект нажатия.


Attachments:
output_tjxIRi.gif
output_tjxIRi.gif [ 329 Bytes | Viewed 2354 times ]
Top
   
PostPosted: Mon May 26, 2014 9:37 am 
Offline
KSoC/GSoC Student

Joined: Wed Jul 11, 2012 3:17 am
Posts: 224
e-andrew wrote:
Если рисовать не чёрный прямоугольник при нажатии, как сейчас, а 1)слева и вверху линии цветом с тень; 2) снизу и справа линии цветом с кнопку, то получиться классных эффект нажатия.

Проблема в том, что кнопки на заголовке окна будут нажиматься с тем же эффектом.


Top
   
PostPosted: Mon May 26, 2014 12:48 pm 
Offline
User avatar

Joined: Sat Oct 05, 2013 9:32 pm
Posts: 386
Так если стоит свойство не отрисовывать кнопку, то прямоугольник. Ну раз это проблема, то ладно, просто идея классная возникла


Top
   
PostPosted: Mon May 26, 2014 1:48 pm 
Offline
KSoC/GSoC Student

Joined: Wed Jul 11, 2012 3:17 am
Posts: 224
e-andrew wrote:
Так если стоит свойство не отрисовывать кнопку, то прямоугольник. Ну раз это проблема, то ладно, просто идея классная возникла

все равно попробую, что либо сделать


Top
   
PostPosted: Mon May 26, 2014 7:25 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5047
Выглядит очень симпатично, но как решить проблему с ободком кнопок несистемного цвета http://prntscr.com/3ms2kk ?

_________________
Через тернии к звездам


Top
   
PostPosted: Mon May 26, 2014 7:28 pm 
Offline
User avatar

Joined: Sat Oct 05, 2013 9:32 pm
Posts: 386
Leency wrote:
Выглядит очень симпатично, но как решить проблему с ободком кнопок несистемного цвета http://prntscr.com/3ms2kk ?

Установить 28 бит в 1


Top
   
PostPosted: Mon May 26, 2014 7:41 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
e-andrew wrote:
Leency wrote:
Выглядит очень симпатично, но как решить проблему с ободком кнопок несистемного цвета http://prntscr.com/3ms2kk ?

Установить 28 бит в 1

Выбросить наконец это кривую, богомерзкую недоделку из дистрибутива и запилить побольше игр на православных: C--, C, C++, паскале, луа, хаскеле и васике.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Thu May 29, 2014 7:05 pm 
Offline
KSoC/GSoC Student

Joined: Wed Jul 11, 2012 3:17 am
Posts: 224
Image
добавил эффект, проверяю фикс ширины и координат на нажатия.

PS: эффект отрисовывается только для кнопок с рамкой и 3d линиями.
PPS: пока показан промежуточный результат, вероятно возможна реализация лучше.


Top
   
PostPosted: Fri May 30, 2014 11:16 am 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5047
Оу, я этого джва года ждал. Точнее 8 лет.
Оч круто)

_________________
Через тернии к звездам


Top
   
PostPosted: Sun Jun 01, 2014 10:58 am 
Offline
KSoC/GSoC Student

Joined: Wed Jul 11, 2012 3:17 am
Posts: 224
Leency wrote:
Оу, я этого джва года ждал. Точнее 8 лет.
Оч круто)

Спасибо, результаты выложу попозже, нас тут топит сильно - на дамбе 2й день.


Top
   
PostPosted: Tue Jun 10, 2014 11:21 pm 
Offline
KSoC/GSoC Student

Joined: Wed Jul 11, 2012 3:17 am
Posts: 224
Залил часть изменений в транк:
8 функция edx (28 бит) отвечает за отрисовку теней между frame и face кнопки (пока на wiki не выношу)
подумываю на 27 бит поставить запрет на отрисовку frame
эффект нажатия теперь в системных цветах
на системные кнопки с номером id=1 и id=0xffff оставлена отрисовка инверсией (вызывает проблемы ели id дублируется пользовательской кнопкой - думаю над этим)

PS: косяки, критика, советы приветствуются. В транк залил для тестов, если что кому не нравится или не устраивает - пишите, будем решать проблемы - искать варианты.


Top
   
PostPosted: Thu Jun 26, 2014 6:34 pm 
Offline
KSoC/GSoC Student

Joined: Wed Jul 11, 2012 3:17 am
Posts: 224
Работая над псевдоскруглениями столкнулся с проблемой артефактов от draw_rectangle.forced
которая рисует инвертно негативную рамку при перемещении окон, кто нинибудь случайно не знает как безболезненно можно с ней бороться, кроме как отключать) ибо не вариант). Скрин проблемы по линку.
http://www.runzy.ru/draw_rectangle_forced.png


Top
   
PostPosted: Tue Jul 01, 2014 12:33 pm 
Offline
User avatar

Joined: Sat Oct 05, 2013 9:32 pm
Posts: 386
Как вариант, можно рисовать прямоугольник вокруг окна (x-1, y-1, w+2, h+2). Насчёт скругления: выглядит классно, но лучше бы это было в самом скине.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 66 posts ]  Go to page Previous 1 2 3 4 5 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited