Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вт сен 19, 2017 6:12 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 66 сообщений ]  На страницу Пред. 1 2 3 4 5 След.
Автор Сообщение
СообщениеДобавлено: Вс май 25, 2014 2:00 pm 
Не в сети

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

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

UPD:

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


Вернуться к началу
СообщениеДобавлено: Вс май 25, 2014 2:32 pm 
Не в сети
KSoC/GSoC Student

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

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

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

Сделал fix на координаты кнопки и на её высоту. Скрин:
Спойлер: Показать
Изображение


Вернуться к началу
СообщениеДобавлено: Пн май 26, 2014 7:42 am 
Не в сети
Аватара пользователя

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


Вложения:
output_tjxIRi.gif
output_tjxIRi.gif [ 329 байт | 1410 просмотров ]
Вернуться к началу
СообщениеДобавлено: Пн май 26, 2014 9:37 am 
Не в сети
KSoC/GSoC Student

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

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


Вернуться к началу
СообщениеДобавлено: Пн май 26, 2014 12:48 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Сб окт 05, 2013 9:32 pm
Сообщения: 385
Так если стоит свойство не отрисовывать кнопку, то прямоугольник. Ну раз это проблема, то ладно, просто идея классная возникла


Вернуться к началу
СообщениеДобавлено: Пн май 26, 2014 1:48 pm 
Не в сети
KSoC/GSoC Student

Зарегистрирован: Ср июл 11, 2012 3:17 am
Сообщения: 224
e-andrew писал(а):
Так если стоит свойство не отрисовывать кнопку, то прямоугольник. Ну раз это проблема, то ладно, просто идея классная возникла

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


Вернуться к началу
СообщениеДобавлено: Пн май 26, 2014 7:25 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4162
Выглядит очень симпатично, но как решить проблему с ободком кнопок несистемного цвета http://prntscr.com/3ms2kk ?

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


Вернуться к началу
СообщениеДобавлено: Пн май 26, 2014 7:28 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Сб окт 05, 2013 9:32 pm
Сообщения: 385
Leency писал(а):
Выглядит очень симпатично, но как решить проблему с ободком кнопок несистемного цвета http://prntscr.com/3ms2kk ?

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


Вернуться к началу
СообщениеДобавлено: Пн май 26, 2014 7:41 pm 
Не в сети
Kernel Developer

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

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

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

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


Вернуться к началу
СообщениеДобавлено: Чт май 29, 2014 7:05 pm 
Не в сети
KSoC/GSoC Student

Зарегистрирован: Ср июл 11, 2012 3:17 am
Сообщения: 224
Изображение
добавил эффект, проверяю фикс ширины и координат на нажатия.

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


Вернуться к началу
СообщениеДобавлено: Пт май 30, 2014 11:16 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4162
Оу, я этого джва года ждал. Точнее 8 лет.
Оч круто)

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


Вернуться к началу
СообщениеДобавлено: Вс июн 01, 2014 10:58 am 
Не в сети
KSoC/GSoC Student

Зарегистрирован: Ср июл 11, 2012 3:17 am
Сообщения: 224
Leency писал(а):
Оу, я этого джва года ждал. Точнее 8 лет.
Оч круто)

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


Вернуться к началу
СообщениеДобавлено: Вт июн 10, 2014 11:21 pm 
Не в сети
KSoC/GSoC Student

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

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


Вернуться к началу
СообщениеДобавлено: Чт июн 26, 2014 6:34 pm 
Не в сети
KSoC/GSoC Student

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


Вернуться к началу
СообщениеДобавлено: Вт июл 01, 2014 12:33 pm 
Не в сети
Аватара пользователя

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


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 66 сообщений ]  На страницу Пред. 1 2 3 4 5 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB