Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Сб окт 21, 2017 7:42 am

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




Начать новую тему  Ответить на тему  [ 24 сообщения ]  На страницу 1 2 След.
Автор Сообщение
 Заголовок сообщения: Вопросики о курсоре
СообщениеДобавлено: Сб мар 16, 2013 2:16 am 
Не в сети

Зарегистрирован: Вт окт 05, 2010 6:05 pm
Сообщения: 178
Программка xo1.kex (см. аттач). Должна при каждом клике менять курсор.
Под KlbrInWin - работает как задумано, под Qemu курсор меняется, не при клике, а при клике и последующем сдвиге курсора.
---
xo3.kex - после смены курсора програмно сдвигаю его на 1 пиксель в сторону
в Qemu - курсор меняется, но сдвижки не хочется. В KlbrInWin сдвижка происходит не на пиксель, а аж вылетает за пределы формы.
---
xo4.kex - вариант со сдвижкой и возвратом в ту же координату
в Qemu курсор не меняется, опять требуется hexyfz сдвижка, в KlbrInWin дребезг курсора, видимо успевает несколько раз сменить курсор пока нажата кнопка.


xo2.kex - курсоры с полупрозрачностью
В KlbrInWin отображаются нормально, в Qemu мусор. В хелпе написано - "файл курсора должен быть в формате .cur, стандартном для MS Windows", на прозрачность ограничений не накладывается.


Вопросы - кто виноват и что делать работает ли xo1.kex как положено не в эмуляторах, а на реальной системе (сам проверить не могу). Если работает, то есть ли эмулятор в котором тоже работает, чтобы перейти на него с Qemu.
То же самое, касаемо полупрозрачных курсоров из xo2.kex.


Не знаю, соотносятся ли мои вопросы с предыдущими курсорными темами, если надо, то объедините


Вложения:
Комментарий к файлу: Тесты курсора
xo.7z [3.86 КБ]
74 скачивания
Вернуться к началу
 Заголовок сообщения: Re: Вопросики о курсоре
СообщениеДобавлено: Сб мар 16, 2013 9:54 am 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3929
Полупрозрачность будет только на аппаратных курсорах и то смотря как биты в драйвере выставлены.


Вернуться к началу
 Заголовок сообщения: Re: Вопросики о курсоре
СообщениеДобавлено: Сб мар 16, 2013 11:42 am 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1076
Цитата:
курсор меняется, не при клике, а при клике и последующем сдвиге курсора.
У меня такая же проблема в fNav. В той теме я писал, что он у меня меняется не сразу, а только если подвигать мышью, поэтому приходится делать это программно.

С прозрачными курсорами тоже проблема.
Спойлер: Показать
В VirtualBox работает правильно:
Изображение

На реальной системе без драйвера — тоже правильно:
Изображение

А вот с драйвером — не совсем:
Изображение


Вернуться к началу
 Заголовок сообщения: Baby Painter #2
СообщениеДобавлено: Вт окт 01, 2013 1:22 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4220
EDIT by yogev_ezra: Обсуждение курсора перенесено по просьбе lev из темы Baby Painter.

lev писал(а):
Угу, я этому даже темку посвящал - Вопросики о курсоре.
Точно, видел. Почему бы пока что не использовать такой подход:
0CodErr писал(а):
У меня такая же проблема в fNav. В той теме я писал, что он у меня меняется не сразу, а только если подвигать мышью, поэтому приходится делать это программно.

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


Вернуться к началу
 Заголовок сообщения: Re: Baby Painter
СообщениеДобавлено: Вт окт 01, 2013 1:46 am 
Не в сети

Зарегистрирован: Вт окт 05, 2010 6:05 pm
Сообщения: 178
Двигал - не понравилось. Лучше починки дождусь.


Вернуться к началу
 Заголовок сообщения: Re: Baby Painter
СообщениеДобавлено: Вт окт 01, 2013 2:05 am 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
lev писал(а):
Двигал - не понравилось. Лучше починки дождусь.

Вот так вот и остальные "Ладно, я тут забегу через полгода-год может у вас что тогда поменяется."

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


Вернуться к началу
 Заголовок сообщения: Re: Baby Painter
СообщениеДобавлено: Вт окт 01, 2013 2:31 am 
Не в сети

Зарегистрирован: Вт окт 05, 2010 6:05 pm
Сообщения: 178
Зачем костыль в программе? В 37.5 должна быть принудительная перерисовка курсора.
Допустим я подозреваю, что в svn\kolibri\kernel\trunk\video\cursors.inc - proc set_cursor или в kernel.asm - app_set_cursor: должно быть воткнуто что-то вроде:
mov [redrawmouse_unconditional], 1
call __sys_draw_pointer
Но я с ядром дела не имел, портить проверять не полезу. А ядерщику имхо несложно поправить, или наоборот опровергнуть меня и указать, что подобной правкой мы затронем 100500 других функций, не учтём over 9000 ситуаций и править надо совсем в другом месте и совершенно не то и т.п.
Я подожду.


Вернуться к началу
 Заголовок сообщения: Re: Baby Painter
СообщениеДобавлено: Вт окт 01, 2013 3:26 am 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
lev писал(а):
Но я с ядром дела не имел, портить проверять не полезу. А ядерщику имхо несложно поправить, или наоборот опровергнуть меня и указать, что подобной правкой мы затронем 100500 других функций, не учтём over 9000 ситуаций и править надо совсем в другом месте и совершенно не то и т.п.
Я подожду.

Ну, жди. У ядерщиков есть и другие более насущные вопросы, и ты не поверишь у них существует даже IRL насущные вопросы. :lol:

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


Вернуться к началу
 Заголовок сообщения: Re: Baby Painter
СообщениеДобавлено: Вт окт 01, 2013 4:30 am 
Не в сети

Зарегистрирован: Вт окт 05, 2010 6:05 pm
Сообщения: 178
Leency писал(а):
"Ладно, я тут забегу через полгода-год может у вас что тогда поменяется."
:D


Вернуться к началу
 Заголовок сообщения: Re: Baby Painter
СообщениеДобавлено: Вт окт 01, 2013 10:01 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4220
Mario_r4
То, что нет времени самая левая отмазка :) Помог бы человеку, хоть советом.

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


Вернуться к началу
 Заголовок сообщения: Re: Baby Painter
СообщениеДобавлено: Вт окт 01, 2013 10:21 am 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
Leency писал(а):
Mario_r4
То, что нет времени самая левая отмазка :) Помог бы человеку, хоть советом.

Для меня что помогать советом, что самому код смотреть одинаково. Лень тут совершенно не при чем - у меня действительно недостаток времени наблюдается.

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


Вернуться к началу
 Заголовок сообщения: Re: Baby Painter
СообщениеДобавлено: Вт окт 01, 2013 11:06 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4220
lev
В таком случае, нужно просто брать и править код. Вначале протестировать у себя на машине, перед заливкой в транк. Если вылезут старые ошибки - это прекрасно, их можно будет исправить. Вылезут новые, тоже можно будет исправить, а ели что откатить изменения.
Вообще исправление багов - это всегда два шага вперёд, один назад. Так что не бойся, фиксь транк, фиксь его полностью.

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


Вернуться к началу
 Заголовок сообщения: Re: Baby Painter
СообщениеДобавлено: Вт окт 01, 2013 11:40 am 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3929
lev
Немного хитрее. Курсор всегда отрисовывается потоком ядра.
Код:
        mov     [redrawmouse_unconditional], 1
        call    wakeup_osloop


Вернуться к началу
 Заголовок сообщения: Re: Вопросики о курсоре
СообщениеДобавлено: Вт ноя 05, 2013 11:41 pm 
Не в сети

Зарегистрирован: Вт окт 05, 2010 6:05 pm
Сообщения: 178
Попытка правки фукции 37.5
Не нашел wakeup_osloop, поэтому воспользовался первым методом из собственного поста.
Тестировать можно на файликах из данной темы и на BabyPainter


Вернуться к началу
 Заголовок сообщения: Re: Вопросики о курсоре
СообщениеДобавлено: Ср ноя 06, 2013 12:46 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4220
BabyPainter пофикшен. Может мне кажется, иконки не стали больше моргать при перетаскивании?

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


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

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


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

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


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

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