SVN r. 2511
Собственно позволяет вынуть данные запрошенной точки из области по адресу [_WinMapAddress].
Описание читать в документационной части исходников ядра.
В настоящее нужно для @RB - вместо кучи запросов ф.9, равное количеству запущенных в системе потоков, производится всего один запрос ф.34. Быстро, эффективно, красиво.
Также будет использоваться в новом Icon.
Функция 34 - узнать владельца точки на экране
Полезная функция. Даже странно, что ее до сих пор не было.
Только я бы ее расширил еще одной нужной подфункцией -
п/ф 0 = узнать владельца точки,
п/ф 1 = перемаппить всю экранную карту на адресное пространство пользователя.
А то если про каждую точку спрашивать у ядра - так и уснуть можно.
Только я бы ее расширил еще одной нужной подфункцией -
п/ф 0 = узнать владельца точки,
п/ф 1 = перемаппить всю экранную карту на адресное пространство пользователя.
А то если про каждую точку спрашивать у ядра - так и уснуть можно.
Для @RB и Icon ее вполне хватает.
Насчет получения куском - я могу сделать только как функцию 36. Но она всегда показывает только прошлое состояние. Которое при активной перерисовке может сильно отстать и вообще сделать мгновенный срез без CLI не получится, а CLI вообще-то не желательно на длительный срок.
Как сделать по аналогии с именованной памятью я не знаю. Из известных мне вариантов реализации есть только 15.6, но там уж больно топорно реализовано и работает только в монопольном доступе.
З.Ы.
Насчет получения куском - я могу сделать только как функцию 36. Но она всегда показывает только прошлое состояние. Которое при активной перерисовке может сильно отстать и вообще сделать мгновенный срез без CLI не получится, а CLI вообще-то не желательно на длительный срок.
Как сделать по аналогии с именованной памятью я не знаю. Из известных мне вариантов реализации есть только 15.6, но там уж больно топорно реализовано и работает только в монопольном доступе.
З.Ы.
Вообще то умные люди давно советовали.art_zh wrote:Полезная функция. Даже странно, что ее до сих пор не было.
Влезет ли туда тип точки? Шапка-левая-правая-нижняя граница, углы, просто форма, ещё чего-то. Ориентируясь на эту инфу можно было бы менять вид курсора.
Вид курсора по позиции - будет менять ядро. Приложению делать что ли больше нечего? Такие вещи централизованно решать надо.
Это система быстрых 256 объектов, которую я уже давно придумал и реализовал, для неё заводится массив 256*4 байт, там адреса на однотипные записи объектов, объекты могут быть и иконки и формы и кнопки и т.д. . В начале идут данные общие для всех: тип объекта, затем адрес курсора, затем адрес функции сообщений, затем адрес картинки, ... , потом данные специфичные для объекта, которые использует только он. По нажатию мышки на экран сразу получаешь пиксель с номером объекта, берешь его из массива и вызываешь его функцию (без переборов). Я кидаю туда же и сообщения от клавы и таймера сохраняя последний активный объект.
По движению мыши по экрану постоянно берётся адрес курсора и рисуется новый при его перерисовки, только так можно рисовать руку при наведении на ссылку или карандаш при наведении на поле ввода.
Я использую 4 байт пикселя для номера объекта, для прозрачности, для Z растояния в 3д
Учитесь.
По движению мыши по экрану постоянно берётся адрес курсора и рисуется новый при его перерисовки, только так можно рисовать руку при наведении на ссылку или карандаш при наведении на поле ввода.
Я использую 4 байт пикселя для номера объекта, для прозрачности, для Z растояния в 3д
Учитесь.
Who is online
Users browsing this forum: No registered users and 2 guests