Page 4 of 5

Re: Новая таблица системных цветов.

Posted: Sun May 25, 2014 2:00 pm
by 0CodErr
Ну вот кому-то нужны кнопки с углами, кому-то рамки с углами, а кому-то захочется только 3 угла, а не 4, кому-то угол наклона нужен будет другой, и т.п. Я считаю подобные вещи должны быть в библиотеке. Так уж исторически сложилось, что кнопки находятся в ядре.

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

UPD:

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

Re: Новая таблица системных цветов.

Posted: Sun May 25, 2014 2:32 pm
by Akyltist
0CodErr wrote:Я считаю подобные вещи должны быть в библиотеке. Так уж исторически сложилось, что кнопки находятся в ядре. Но раз говоришь "кода мало займет", то почему бы и не сделать, если тебе самому очень хочется?
Было бы здорово поправить ещё и софт после этого. Но сначала желательно хотя бы примерно определить объём работы.
А может они как раз правильно рисуются? http://websvn.kolibrios.org/filedetails ... xt#line-82
Размеры окна понимаются в смысле координат правого нижнего угла.
Это же относится и ко всем остальным функциям.
Тоже кажется что логичней в библиотеке, но так как окно само отрисвывается ядром, как и кнопки "закрытия" и "минимизации" - то дублирование функционало будет очевидным (. так уж сложилось что в ядре. Мне запилить не проблема, с оптимизациями если что думаю поможете (всё таки я в асме еще новичек), вопрос в другом, возможно эти 4 бита можно применить для чего-то другого, вдруг кто-то на них расчитывал, отсюда и вопрос.

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

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

Re: Новая таблица системных цветов.

Posted: Mon May 26, 2014 7:42 am
by e-andrew
Если рисовать не чёрный прямоугольник при нажатии, как сейчас, а 1)слева и вверху линии цветом с тень; 2) снизу и справа линии цветом с кнопку, то получиться классных эффект нажатия.

Re: Новая таблица системных цветов.

Posted: Mon May 26, 2014 9:37 am
by Akyltist
e-andrew wrote:Если рисовать не чёрный прямоугольник при нажатии, как сейчас, а 1)слева и вверху линии цветом с тень; 2) снизу и справа линии цветом с кнопку, то получиться классных эффект нажатия.
Проблема в том, что кнопки на заголовке окна будут нажиматься с тем же эффектом.

Re: Новая таблица системных цветов.

Posted: Mon May 26, 2014 12:48 pm
by e-andrew
Так если стоит свойство не отрисовывать кнопку, то прямоугольник. Ну раз это проблема, то ладно, просто идея классная возникла

Re: Новая таблица системных цветов.

Posted: Mon May 26, 2014 1:48 pm
by Akyltist
e-andrew wrote:Так если стоит свойство не отрисовывать кнопку, то прямоугольник. Ну раз это проблема, то ладно, просто идея классная возникла
все равно попробую, что либо сделать

Re: Новая таблица системных цветов.

Posted: Mon May 26, 2014 7:25 pm
by Leency
Выглядит очень симпатично, но как решить проблему с ободком кнопок несистемного цвета http://prntscr.com/3ms2kk ?

Re: Новая таблица системных цветов.

Posted: Mon May 26, 2014 7:28 pm
by e-andrew
Leency wrote:Выглядит очень симпатично, но как решить проблему с ободком кнопок несистемного цвета http://prntscr.com/3ms2kk ?
Установить 28 бит в 1

Re: Новая таблица системных цветов.

Posted: Mon May 26, 2014 7:41 pm
by Mario_r4
e-andrew wrote:
Leency wrote:Выглядит очень симпатично, но как решить проблему с ободком кнопок несистемного цвета http://prntscr.com/3ms2kk ?
Установить 28 бит в 1
Выбросить наконец это кривую, богомерзкую недоделку из дистрибутива и запилить побольше игр на православных: C--, C, C++, паскале, луа, хаскеле и васике.

Re: Новая таблица системных цветов.

Posted: Thu May 29, 2014 7:05 pm
by Akyltist
Image
добавил эффект, проверяю фикс ширины и координат на нажатия.

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

Re: [GSoC] Новая таблица системных цветов.

Posted: Fri May 30, 2014 11:16 am
by Leency
Оу, я этого джва года ждал. Точнее 8 лет.
Оч круто)

Re: [GSoC] Новая таблица системных цветов.

Posted: Sun Jun 01, 2014 10:58 am
by Akyltist
Leency wrote:Оу, я этого джва года ждал. Точнее 8 лет.
Оч круто)
Спасибо, результаты выложу попозже, нас тут топит сильно - на дамбе 2й день.

Re: [GSoC] Новая таблица системных цветов.

Posted: Tue Jun 10, 2014 11:21 pm
by Akyltist
Залил часть изменений в транк:
8 функция edx (28 бит) отвечает за отрисовку теней между frame и face кнопки (пока на wiki не выношу)
подумываю на 27 бит поставить запрет на отрисовку frame
эффект нажатия теперь в системных цветах
на системные кнопки с номером id=1 и id=0xffff оставлена отрисовка инверсией (вызывает проблемы ели id дублируется пользовательской кнопкой - думаю над этим)

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

Re: [GSoC] Новая таблица системных цветов.

Posted: Thu Jun 26, 2014 6:34 pm
by Akyltist
Работая над псевдоскруглениями столкнулся с проблемой артефактов от draw_rectangle.forced
которая рисует инвертно негативную рамку при перемещении окон, кто нинибудь случайно не знает как безболезненно можно с ней бороться, кроме как отключать) ибо не вариант). Скрин проблемы по линку.
http://www.runzy.ru/draw_rectangle_forced.png

Re: [GSoC] Новая таблица системных цветов.

Posted: Tue Jul 01, 2014 12:33 pm
by e-andrew
Как вариант, можно рисовать прямоугольник вокруг окна (x-1, y-1, w+2, h+2). Насчёт скругления: выглядит классно, но лучше бы это было в самом скине.