Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вт май 30, 2017 3:57 pm

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




Начать новую тему  Ответить на тему  [ 6 сообщений ] 
Автор Сообщение
СообщениеДобавлено: Вт мар 27, 2012 4:34 pm 
SVN r. 2511
Собственно позволяет вынуть данные запрошенной точки из области по адресу [_WinMapAddress].
Описание читать в документационной части исходников ядра.

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


Вернуться к началу
   
СообщениеДобавлено: Вт мар 27, 2012 7:48 pm 
Не в сети
Kernel Developer
Аватара пользователя

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


Вернуться к началу
СообщениеДобавлено: Вт мар 27, 2012 8:24 pm 
Для @RB и Icon ее вполне хватает.

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

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

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

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


Вернуться к началу
   
СообщениеДобавлено: Вт мар 27, 2012 8:45 pm 
Не в сети

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


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


Вернуться к началу
   
СообщениеДобавлено: Ср мар 28, 2012 5:33 am 
Не в сети

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


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 6 сообщений ] 

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


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

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


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

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