Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
NexTouch.cpp@1:e4163fd9aa4c, 2020-05-04 (annotated)
- Committer:
- franciscodias
- Date:
- Mon May 04 17:52:49 2020 +0000
- Revision:
- 1:e4163fd9aa4c
1234
Who changed what in which revision?
| User | Revision | Line number | New 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 | } |