Difference between revisions of "SysFn40/ru"

From KolibriOS wiki
Jump to navigation Jump to search
m
(биты 30 и 31)
Line 17: Line 17:
 
* События, запрещённые в маске, всё равно сохраняются, если приходят; о них просто не извещают функции работы с событиями.
 
* События, запрещённые в маске, всё равно сохраняются, если приходят; о них просто не извещают функции работы с событиями.
 
* Функции работы с событиями учитывают маску на момент вызова функции, а не на момент поступления сообщения.
 
* Функции работы с событиями учитывают маску на момент вызова функции, а не на момент поступления сообщения.
 
+
* бит 31: активный / неактивный фильтр
 +
** ''бит 31 = 0'' - неактивное окно получает события мыши
 +
** ''бит 31 = 1'' - неактивное окно не получает события мыши
 +
* бит 30: Курсор позиции фильтра
 +
** ''бит 30 = 0'' = окно получает события мыши, если курсор за окном
 +
** ''бит 30 = 1'' - окно не получает события мыши, если курсор за окном
  
 
{{System_functions}}
 
{{System_functions}}
 
[[Category: SysCalls]]
 
[[Category: SysCalls]]

Revision as of 09:46, 14 February 2013

Функция 40 - установить маску для ожидаемых событий.


Маска для ожидаемых событий влияет на функции работы с событиями 10, 11, 23 - они сообщают только о событиях, разрешённых этой маской.

Параметры:

  • eax = 40 - номер функции
  • ebx = маска: бит i соответствует событию i+1 (см. список событий)
    • установленный бит разрешает извещение о событии

Возвращаемое значение:

  • eax = предыдущее значение маски

Замечания:

  • Маска по умолчанию (7=111b) разрешает извещения о перерисовке и нажатиях клавиш и кнопок. Этого достаточно для большинства приложений.
  • События, запрещённые в маске, всё равно сохраняются, если приходят; о них просто не извещают функции работы с событиями.
  • Функции работы с событиями учитывают маску на момент вызова функции, а не на момент поступления сообщения.
  • бит 31: активный / неактивный фильтр
    • бит 31 = 0 - неактивное окно получает события мыши
    • бит 31 = 1 - неактивное окно не получает события мыши
  • бит 30: Курсор позиции фильтра
    • бит 30 = 0 = окно получает события мыши, если курсор за окном
    • бит 30 = 1 - окно не получает события мыши, если курсор за окном