SayoriOS  0.3.3
trigger.h
1 #pragma once
2 
3 #define TRIGGER_MAIN_RUNNER 0x0000
4 #define TRIGGER_KEY_PRESSED 0x0001
5 #define TRIGGER_MOUSE_MOVE 0x0002
6 #define TRIGGER_MOUSE_CLICK 0x0003
7 #define TRIGGER_ELF_START 0x0004
8 #define TRIGGER_ELF_END 0x0005
9 #define TRIGGER_ELF_FAILRUN 0x0006
10 #define TRIGGER_MAIN_RUNNER1 0x1111
11 #define TRIGGER_MAIN_RUNNER2 0x2222
12 #define TRIGGER_MAIN_RUNNER3 0x3333
13 #define TRIGGER_MAIN_RUNNER4 0x4444
14 #define TRIGGER_MAIN_RUNNER5 0x5555
15 #define TRIGGER_MAIN_RUNNER6 0x6666
16 #define TRIGGER_MAIN_RUNNER7 0x7777
17 #define TRIGGER_MAIN_RUNNER8 0x8888
18 #define TRIGGER_MAIN_RUNNER9 0x9999
19 
20 
21 typedef void (*trigger_cmd_t)(void*,void*,void*,void*,void*);
22 
23 typedef struct trigger
24 {
25  size_t index;
26  int type;
27  bool ready;
29  trigger_cmd_t cmd;
30 } trigger_t;
31 
32 int RegTrigger(int type, trigger_cmd_t handler);
33 void CallTrigger(int type, void* data1, void* data2, void* data3, void* data4, void* data5);
34 void DeleteTrigger(int index);
35 void OnTrigger(int index);
36 void OffTrigger(int index);
trigger_cmd_t cmd
Команда с 5ю аргументами
Definition: trigger.h:29
size_t index
Индекс триггера
Definition: trigger.h:25
bool ready
Триггер готов к работе
Definition: trigger.h:27
int type
Тип триггера
Definition: trigger.h:26
bool is_not_delete
Триггер НЕ удален и НЕ свободен
Definition: trigger.h:28
void DeleteTrigger(int index)
Удаление триггера
Definition: trigger.c:56
void CallTrigger(int type, void *data1, void *data2, void *data3, void *data4, void *data5)
Функция для вызовов триггеров (Если самостоятельно надо вызвать триггер)
Definition: trigger.c:93
void OffTrigger(int index)
Выключить триггер
Definition: trigger.c:81
void OnTrigger(int index)
Включить триггер
Definition: trigger.c:69
int RegTrigger(int type, trigger_cmd_t handler)
Регистрация триггера
Definition: trigger.c:35