Nuvoton
/
NuMaker-mbed-emWin-example
NuMaker emWin HMI
tslib/tslib.h@10:c8165817d92a, 2 months ago (annotated)
- Committer:
- csyang2
- Date:
- Mon Mar 04 15:47:41 2024 +0800
- Revision:
- 10:c8165817d92a
- Parent:
- 9:1286ec7f3230
Support NuMaker-IoT-M467
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
csyang2 |
1:c0f972361605 | 1 | #ifndef _TSLIB_H_ |
csyang2 |
1:c0f972361605 | 2 | #define _TSLIB_H_ |
csyang2 |
1:c0f972361605 | 3 | /* |
csyang2 |
1:c0f972361605 | 4 | * tslib/src/tslib.h |
csyang2 |
1:c0f972361605 | 5 | * |
csyang2 |
1:c0f972361605 | 6 | * Copyright (C) 2001 Russell King. |
csyang2 |
1:c0f972361605 | 7 | * |
csyang2 |
1:c0f972361605 | 8 | * This file is placed under the LGPL. |
csyang2 |
1:c0f972361605 | 9 | * |
csyang2 |
1:c0f972361605 | 10 | * $Id: tslib.h,v 1.4 2005/02/26 01:47:23 kergoth Exp $ |
csyang2 |
1:c0f972361605 | 11 | * |
csyang2 |
1:c0f972361605 | 12 | * Touch screen library interface definitions. |
csyang2 |
1:c0f972361605 | 13 | */ |
csyang2 |
1:c0f972361605 | 14 | #ifdef __cplusplus |
csyang2 |
1:c0f972361605 | 15 | extern "C" { |
csyang2 |
1:c0f972361605 | 16 | #endif /* __cplusplus */ |
csyang2 |
9:1286ec7f3230 | 17 | #if 0 |
csyang2 |
1:c0f972361605 | 18 | #include <stdarg.h> |
csyang2 |
1:c0f972361605 | 19 | //#include <sys/time.h> |
csyang2 |
1:c0f972361605 | 20 | |
csyang2 |
1:c0f972361605 | 21 | #ifdef WIN32 |
csyang2 |
1:c0f972361605 | 22 | #define TSIMPORT __declspec(dllimport) |
csyang2 |
1:c0f972361605 | 23 | #define TSEXPORT __declspec(dllexport) |
csyang2 |
1:c0f972361605 | 24 | #define TSLOCAL |
csyang2 |
1:c0f972361605 | 25 | #else |
csyang2 |
1:c0f972361605 | 26 | #define TSIMPORT |
csyang2 |
1:c0f972361605 | 27 | #ifdef GCC_HASCLASSVISIBILITY |
csyang2 |
1:c0f972361605 | 28 | #define TSEXPORT __attribute__ ((visibility("default"))) |
csyang2 |
1:c0f972361605 | 29 | #define TSLOCAL __attribute__ ((visibility("hidden"))) |
csyang2 |
1:c0f972361605 | 30 | #else |
csyang2 |
1:c0f972361605 | 31 | #define TSEXPORT |
csyang2 |
1:c0f972361605 | 32 | #define TSLOCAL |
csyang2 |
1:c0f972361605 | 33 | #endif |
csyang2 |
1:c0f972361605 | 34 | #endif |
csyang2 |
1:c0f972361605 | 35 | |
csyang2 |
1:c0f972361605 | 36 | #ifdef TSLIB_INTERNAL |
csyang2 |
1:c0f972361605 | 37 | #define TSAPI TSEXPORT |
csyang2 |
1:c0f972361605 | 38 | #else |
csyang2 |
1:c0f972361605 | 39 | #define TSAPI TSIMPORT |
csyang2 |
1:c0f972361605 | 40 | #endif // TSLIB_INTERNAL |
csyang2 |
1:c0f972361605 | 41 | |
csyang2 |
1:c0f972361605 | 42 | struct tsdev; |
csyang2 |
1:c0f972361605 | 43 | |
csyang2 |
1:c0f972361605 | 44 | struct ts_sample |
csyang2 |
1:c0f972361605 | 45 | { |
csyang2 |
1:c0f972361605 | 46 | int x; |
csyang2 |
1:c0f972361605 | 47 | int y; |
csyang2 |
1:c0f972361605 | 48 | unsigned int pressure; |
csyang2 |
1:c0f972361605 | 49 | // struct timeval tv; |
csyang2 |
1:c0f972361605 | 50 | }; |
csyang2 |
1:c0f972361605 | 51 | |
csyang2 |
1:c0f972361605 | 52 | /* |
csyang2 |
1:c0f972361605 | 53 | * Close the touchscreen device, free all resources. |
csyang2 |
1:c0f972361605 | 54 | */ |
csyang2 |
1:c0f972361605 | 55 | TSAPI int ts_close(struct tsdev *); |
csyang2 |
1:c0f972361605 | 56 | |
csyang2 |
1:c0f972361605 | 57 | /* |
csyang2 |
1:c0f972361605 | 58 | * Configure the touchscreen device. |
csyang2 |
1:c0f972361605 | 59 | */ |
csyang2 |
1:c0f972361605 | 60 | TSAPI int ts_config(struct tsdev *); |
csyang2 |
1:c0f972361605 | 61 | |
csyang2 |
1:c0f972361605 | 62 | /* |
csyang2 |
1:c0f972361605 | 63 | * Change this hook to point to your custom error handling function. |
csyang2 |
1:c0f972361605 | 64 | */ |
csyang2 |
1:c0f972361605 | 65 | extern TSAPI int (*ts_error_fn)(const char *fmt, va_list ap); |
csyang2 |
1:c0f972361605 | 66 | |
csyang2 |
1:c0f972361605 | 67 | /* |
csyang2 |
1:c0f972361605 | 68 | * Returns the file descriptor in use for the touchscreen device. |
csyang2 |
1:c0f972361605 | 69 | */ |
csyang2 |
1:c0f972361605 | 70 | TSAPI int ts_fd(struct tsdev *); |
csyang2 |
1:c0f972361605 | 71 | |
csyang2 |
1:c0f972361605 | 72 | /* |
csyang2 |
1:c0f972361605 | 73 | * Load a filter/scaling module |
csyang2 |
1:c0f972361605 | 74 | */ |
csyang2 |
1:c0f972361605 | 75 | TSAPI int ts_load_module(struct tsdev *, const char *mod, const char *params); |
csyang2 |
1:c0f972361605 | 76 | |
csyang2 |
1:c0f972361605 | 77 | /* |
csyang2 |
1:c0f972361605 | 78 | * Open the touchscreen device. |
csyang2 |
1:c0f972361605 | 79 | */ |
csyang2 |
1:c0f972361605 | 80 | TSAPI struct tsdev *ts_open(const char *dev_name, int nonblock); |
csyang2 |
1:c0f972361605 | 81 | |
csyang2 |
1:c0f972361605 | 82 | /* |
csyang2 |
1:c0f972361605 | 83 | * Return a scaled touchscreen sample. |
csyang2 |
1:c0f972361605 | 84 | */ |
csyang2 |
1:c0f972361605 | 85 | TSAPI int ts_read(struct tsdev *, struct ts_sample *, int); |
csyang2 |
1:c0f972361605 | 86 | |
csyang2 |
1:c0f972361605 | 87 | /* |
csyang2 |
1:c0f972361605 | 88 | * Returns a raw, unscaled sample from the touchscreen. |
csyang2 |
1:c0f972361605 | 89 | */ |
csyang2 |
1:c0f972361605 | 90 | TSAPI int ts_read_raw(struct tsdev *, struct ts_sample *, int); |
csyang2 |
1:c0f972361605 | 91 | |
csyang2 |
1:c0f972361605 | 92 | int ts_calibrate(int xsize, int ysize); |
csyang2 |
1:c0f972361605 | 93 | |
csyang2 |
1:c0f972361605 | 94 | int ts_phy2log(int *sumx, int *sumy); |
csyang2 |
9:1286ec7f3230 | 95 | #endif |
csyang2 |
1:c0f972361605 | 96 | #ifdef __cplusplus |
csyang2 |
1:c0f972361605 | 97 | } |
csyang2 |
1:c0f972361605 | 98 | #endif /* __cplusplus */ |
csyang2 |
1:c0f972361605 | 99 | #endif /* _TSLIB_H_ */ |