Board.KolibriOS.org

Official KolibriOS board
It is currently Sun May 19, 2019 10:03 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 45 posts ]  Go to page Previous 1 2 3 Next
Author Message
 Post subject:
PostPosted: Mon Jun 11, 2007 7:41 pm 
Offline
User avatar

Joined: Thu Oct 13, 2005 12:00 pm
Posts: 299
Курсор-крестик не мигает в рабочем окне!


Top
   
 Post subject:
PostPosted: Mon Jun 11, 2007 8:35 pm 
Offline

Joined: Thu Jan 25, 2007 4:45 pm
Posts: 135
Ghost
Вот дублирую: http://depositfiles.com/ru/files/1004309

camper
Что-то я не очень понял мысль..


Top
   
 Post subject:
PostPosted: Mon Jun 11, 2007 11:27 pm 
Offline
User avatar

Joined: Thu Oct 13, 2005 12:00 pm
Posts: 299
Serial все в полном порядке, просто я сокрушался одн время что курсор колибри в окнах обычно мелькает и на медленных компах порой вообще его не видно, в рокетсах курсор-крестик не мелькает и не пропадает, вот бы эту возможность взять и перенести в базовый курсор.


Top
   
 Post subject:
PostPosted: Tue Jun 12, 2007 12:36 am 
camper wrote:
Serial все в полном порядке, просто я сокрушался одн время что курсор колибри в окнах обычно мелькает и на медленных компах порой вообще его не видно, в рокетсах курсор-крестик не мелькает и не пропадает, вот бы эту возможность взять и перенести в базовый курсор.

ага вот это было бы супер!!!
А то пользуюсь кос 2 час уже глаза из за него болят :(
в игре понг он вообще пропадает и игра глючит из за него


Top
   
 Post subject:
PostPosted: Tue Jun 12, 2007 1:49 am 
Offline

Joined: Thu Jan 25, 2007 4:45 pm
Posts: 135
camper

Хех))
А в какой версии курсор не мерцает, с индексом "h" или "s"?


Top
   
 Post subject:
PostPosted: Tue Jun 12, 2007 3:23 pm 
Offline
User avatar

Joined: Thu Oct 13, 2005 12:00 pm
Posts: 299
вроде бы в обеих нормально


Top
   
 Post subject:
PostPosted: Tue Jun 12, 2007 5:21 pm 
Offline

Joined: Thu Jan 25, 2007 4:45 pm
Posts: 135
camper

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


Top
   
 Post subject:
PostPosted: Tue Jun 12, 2007 5:33 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5047
Мне кажется можно всё сделать проще - чтобы функция 0 перерисовывала не всё окно, а только активную область без заголовка. А вот например функция 0, подфункция 1 окно вместе с заголовком. Можно наоборот, но лучше так.

Это реально сделать?


Top
   
 Post subject:
PostPosted: Tue Jun 12, 2007 6:46 pm 
Offline

Joined: Thu Jan 25, 2007 4:45 pm
Posts: 135
Leency

Дада.. реально. И было бы довольно таки полезно.
Но это уже не ко мне. Я с ассемблером на "Вы" разговариваю :)


Top
   
 Post subject:
PostPosted: Tue Jun 12, 2007 7:29 pm 
Offline
Site Founder
User avatar

Joined: Sun Aug 08, 2004 8:55 am
Posts: 689
Функция 0 имеет так называемый "флаг C" (EDX). Если он установлен, при вызове функции не закрашивается рабочая область. Используется в Tinypad и KFAR, то есть программах, которые полностью рисуют рабочую область сами.

Ссылка на описание: http://kolibrios.org/?p=Documentation&s ... 00&lang=ru


Top
   
 Post subject:
PostPosted: Tue Jun 12, 2007 7:49 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5047
А сдесь смысл в обратном - чтоб рабочая область перерисовывалась, а заголовок если надо перерисует сам чел.


Top
   
 Post subject:
PostPosted: Tue Jun 12, 2007 8:47 pm 
Offline
Site Founder
User avatar

Joined: Sun Aug 08, 2004 8:55 am
Posts: 689
Leency
Ты, наверное, немного не понимаешь. Единственное место, где должен рисовать программист - это рабочая область. Заголовок в любом случае рисует ядро, и самому ничего на нём рисовать крайне не рекоммендуется, хотя бы потому, что в будущем (не знаю, насколько далёком), программе просто не будет дозволено там рисовать.
Рисование же рабочей области ядром нужно крайне не всегда, и мерцание объектов при вызове 0-й функции (насколько я понял) происходит из-за того, что ядро зарисовывает рабочую область цветом фона, и после этого на нём рисуются объекты, что есть медленно.


Top
   
 Post subject:
PostPosted: Fri Jun 15, 2007 6:47 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Какая, нафиг, "перерисовка только рабочей области"? Она тут явно ни при чём. Мне кажется, дело в следующем. Заслуга программы только в том, что не мигает её окно - это потому что использован идеологически правильный подход (перерисовывать только то, что реально изменилось). Курсор в rforces не пропадает из-за особенностей кода ядра - конкретно, функция 7 (используемая в том же pong, но не в rforces) и функция 38 используют разные методы работы с курсором:
Code:
.doit:
        inc     [mouse_pause]
...
        dec     [mouse_pause]
...
        jmp     [draw_pointer]

versus
Code:
        call    [disable_mouse]
...
        call    [draw_pointer]
        ret


Top
   
 Post subject:
PostPosted: Mon Jun 18, 2007 7:25 am 
diamond
Я уже вот год как жду, как кто-нибудь перепишет код курсора. Текущий вариант дорабатывал я и не спорю, что он мягко выражаясь неоптимален. Однако все почему-то только говорят о проблеме с курсором, но никто не берется...
Да и потом если сейчас переписать вывод курсора, то вероятность объединения графического ядра и плоского вообще будет стремиться к нулю. Впрочем, оно и сейчас уже близко к нулю.


Top
   
 Post subject:
PostPosted: Mon Jun 18, 2007 4:35 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Mario79
Не так уж много народу действительно могут это сделать, а все, кто могут, заняты более интересными и/или полезными вещами.


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

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


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