TLMoto / Nextion

Dependents:   Display

Committer:
franciscodias
Date:
Mon May 04 17:52:49 2020 +0000
Revision:
1:e4163fd9aa4c
1234

Who changed what in which revision?

UserRevisionLine numberNew contents of line
franciscodias 1:e4163fd9aa4c 1 #include "NexTouch.h"
franciscodias 1:e4163fd9aa4c 2
franciscodias 1:e4163fd9aa4c 3 NexTouchEventCb __cb_push;
franciscodias 1:e4163fd9aa4c 4 void *__cbpush_ptr;
franciscodias 1:e4163fd9aa4c 5 NexTouchEventCb __cb_pop;
franciscodias 1:e4163fd9aa4c 6 void *__cbpop_ptr;
franciscodias 1:e4163fd9aa4c 7
franciscodias 1:e4163fd9aa4c 8 void NexTouch_attachPush(struct NexObject *touch, NexTouchEventCb push, void *ptr)
franciscodias 1:e4163fd9aa4c 9 {
franciscodias 1:e4163fd9aa4c 10 touch->__cb_push = push;
franciscodias 1:e4163fd9aa4c 11 touch->__cbpush_ptr = ptr;
franciscodias 1:e4163fd9aa4c 12 }
franciscodias 1:e4163fd9aa4c 13
franciscodias 1:e4163fd9aa4c 14 void NexTouch_detachPush(struct NexObject *touch)
franciscodias 1:e4163fd9aa4c 15 {
franciscodias 1:e4163fd9aa4c 16 touch->__cb_push = 0;
franciscodias 1:e4163fd9aa4c 17 touch->__cbpush_ptr = 0;
franciscodias 1:e4163fd9aa4c 18 }
franciscodias 1:e4163fd9aa4c 19
franciscodias 1:e4163fd9aa4c 20 void NexTouch_attachPop(struct NexObject *touch, NexTouchEventCb pop, void *ptr)
franciscodias 1:e4163fd9aa4c 21 {
franciscodias 1:e4163fd9aa4c 22 touch->__cb_pop = pop;
franciscodias 1:e4163fd9aa4c 23 touch->__cbpop_ptr = ptr;
franciscodias 1:e4163fd9aa4c 24 }
franciscodias 1:e4163fd9aa4c 25
franciscodias 1:e4163fd9aa4c 26 void NexTouch_detachPop(struct NexObject *touch)
franciscodias 1:e4163fd9aa4c 27 {
franciscodias 1:e4163fd9aa4c 28 touch->__cb_pop = 0;
franciscodias 1:e4163fd9aa4c 29 touch->__cbpop_ptr = 0;
franciscodias 1:e4163fd9aa4c 30 }
franciscodias 1:e4163fd9aa4c 31
franciscodias 1:e4163fd9aa4c 32 void NexTouch_push(struct NexObject *touch)
franciscodias 1:e4163fd9aa4c 33 {
franciscodias 1:e4163fd9aa4c 34 if (touch->__cb_push)
franciscodias 1:e4163fd9aa4c 35 {
franciscodias 1:e4163fd9aa4c 36 touch->__cb_push(__cbpush_ptr);
franciscodias 1:e4163fd9aa4c 37 }
franciscodias 1:e4163fd9aa4c 38 }
franciscodias 1:e4163fd9aa4c 39
franciscodias 1:e4163fd9aa4c 40 void NexTouch_pop(struct NexObject *touch)
franciscodias 1:e4163fd9aa4c 41 {
franciscodias 1:e4163fd9aa4c 42 if (touch->__cb_pop)
franciscodias 1:e4163fd9aa4c 43 {
franciscodias 1:e4163fd9aa4c 44 touch->__cb_pop(__cbpop_ptr);
franciscodias 1:e4163fd9aa4c 45 }
franciscodias 1:e4163fd9aa4c 46 }
franciscodias 1:e4163fd9aa4c 47
franciscodias 1:e4163fd9aa4c 48 void NexTouch_iterate(struct NexObject **list, uint8_t pid, uint8_t cid, int32_t event)
franciscodias 1:e4163fd9aa4c 49 {
franciscodias 1:e4163fd9aa4c 50 struct NexObject *e = 0;
franciscodias 1:e4163fd9aa4c 51 uint16_t i = 0;
franciscodias 1:e4163fd9aa4c 52
franciscodias 1:e4163fd9aa4c 53 if (0 == list)
franciscodias 1:e4163fd9aa4c 54 {
franciscodias 1:e4163fd9aa4c 55 return;
franciscodias 1:e4163fd9aa4c 56 }
franciscodias 1:e4163fd9aa4c 57
franciscodias 1:e4163fd9aa4c 58 for (i = 0; (e = list[i]) != 0; i++)
franciscodias 1:e4163fd9aa4c 59 {
franciscodias 1:e4163fd9aa4c 60 if (e->__pid == pid && e->__cid == cid)
franciscodias 1:e4163fd9aa4c 61 {
franciscodias 1:e4163fd9aa4c 62 //e->printObjInfo();
franciscodias 1:e4163fd9aa4c 63 if (NEX_EVENT_PUSH == event)
franciscodias 1:e4163fd9aa4c 64 {
franciscodias 1:e4163fd9aa4c 65 if (e->__cb_push)
franciscodias 1:e4163fd9aa4c 66 {
franciscodias 1:e4163fd9aa4c 67 e->__cb_push(e->__cbpush_ptr);
franciscodias 1:e4163fd9aa4c 68 }
franciscodias 1:e4163fd9aa4c 69 }
franciscodias 1:e4163fd9aa4c 70 else if (NEX_EVENT_POP == event)
franciscodias 1:e4163fd9aa4c 71 {
franciscodias 1:e4163fd9aa4c 72 if (e->__cb_pop)
franciscodias 1:e4163fd9aa4c 73 {
franciscodias 1:e4163fd9aa4c 74 e->__cb_pop(e->__cbpop_ptr);
franciscodias 1:e4163fd9aa4c 75 }
franciscodias 1:e4163fd9aa4c 76 }
franciscodias 1:e4163fd9aa4c 77
franciscodias 1:e4163fd9aa4c 78 break;
franciscodias 1:e4163fd9aa4c 79 }
franciscodias 1:e4163fd9aa4c 80 }
franciscodias 1:e4163fd9aa4c 81 }