Board.KolibriOS.org

Official KolibriOS board
It is currently Wed May 22, 2019 8:56 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 6 posts ] 
Author Message
PostPosted: Tue Mar 27, 2012 4:34 pm 
SVN r. 2511
Собственно позволяет вынуть данные запрошенной точки из области по адресу [_WinMapAddress].
Описание читать в документационной части исходников ядра.

В настоящее нужно для @RB - вместо кучи запросов ф.9, равное количеству запущенных в системе потоков, производится всего один запрос ф.34. Быстро, эффективно, красиво.
Также будет использоваться в новом Icon.


Top
   
PostPosted: Tue Mar 27, 2012 7:48 pm 
Offline
Kernel Developer
User avatar

Joined: Fri Aug 14, 2009 1:46 am
Posts: 1328
Полезная функция. Даже странно, что ее до сих пор не было.
Только я бы ее расширил еще одной нужной подфункцией -
п/ф 0 = узнать владельца точки,
п/ф 1 = перемаппить всю экранную карту на адресное пространство пользователя.
А то если про каждую точку спрашивать у ядра - так и уснуть можно.


Top
   
PostPosted: Tue Mar 27, 2012 8:24 pm 
Для @RB и Icon ее вполне хватает.

Насчет получения куском - я могу сделать только как функцию 36. Но она всегда показывает только прошлое состояние. Которое при активной перерисовке может сильно отстать и вообще сделать мгновенный срез без CLI не получится, а CLI вообще-то не желательно на длительный срок.

Как сделать по аналогии с именованной памятью я не знаю. Из известных мне вариантов реализации есть только 15.6, но там уж больно топорно реализовано и работает только в монопольном доступе.

З.Ы.
art_zh wrote:
Полезная функция. Даже странно, что ее до сих пор не было.

Вообще то умные люди давно советовали.


Top
   
PostPosted: Tue Mar 27, 2012 8:45 pm 
Offline

Joined: Tue Oct 05, 2010 6:05 pm
Posts: 214
Влезет ли туда тип точки? Шапка-левая-правая-нижняя граница, углы, просто форма, ещё чего-то. Ориентируясь на эту инфу можно было бы менять вид курсора.


Top
   
PostPosted: Tue Mar 27, 2012 8:49 pm 
Вид курсора по позиции - будет менять ядро. Приложению делать что ли больше нечего? Такие вещи централизованно решать надо.


Top
   
PostPosted: Wed Mar 28, 2012 5:33 am 
Offline

Joined: Mon Jan 16, 2012 5:58 pm
Posts: 50
Это система быстрых 256 объектов, которую я уже давно придумал и реализовал, для неё заводится массив 256*4 байт, там адреса на однотипные записи объектов, объекты могут быть и иконки и формы и кнопки и т.д. . В начале идут данные общие для всех: тип объекта, затем адрес курсора, затем адрес функции сообщений, затем адрес картинки, ... , потом данные специфичные для объекта, которые использует только он. По нажатию мышки на экран сразу получаешь пиксель с номером объекта, берешь его из массива и вызываешь его функцию (без переборов). Я кидаю туда же и сообщения от клавы и таймера сохраняя последний активный объект.
По движению мыши по экрану постоянно берётся адрес курсора и рисуется новый при его перерисовки, только так можно рисовать руку при наведении на ссылку или карандаш при наведении на поле ввода.
Я использую 4 байт пикселя для номера объекта, для прозрачности, для Z растояния в 3д
Учитесь.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 6 posts ] 

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:  
cron
Powered by phpBB® Forum Software © phpBB Limited