webOS Userland
Native system APIs for webOS
lgnc_system.h
1 #pragma once
2 
3 #ifdef __cplusplus
4 extern "C" {
5 #endif
6 
7 #include <stddef.h>
8 
9 #include "lgnc_openapi_types.h"
10 
11 enum {
12  LGNC_REMOTE_PRESS = 272,
13  LGNC_REMOTE_RED = 398,
14  LGNC_REMOTE_GREEN = 399,
15  LGNC_REMOTE_YELLOW = 400,
16  LGNC_REMOTE_BLUE = 401,
17  LGNC_REMOTE_CH_UP = 402,
18  LGNC_REMOTE_CH_DOWN = 403,
19  LGNC_REMOTE_BACK = 412,
20  LGNC_REMOTE_NUM_1 = 872,
21  LGNC_REMOTE_NUM_2 = 873,
22  LGNC_REMOTE_NUM_3 = 874,
23  LGNC_REMOTE_NUM_4 = 875,
24  LGNC_REMOTE_NUM_5 = 876,
25  LGNC_REMOTE_NUM_6 = 877,
26  LGNC_REMOTE_NUM_7 = 878,
27  LGNC_REMOTE_NUM_8 = 879,
28  LGNC_REMOTE_NUM_9 = 880,
29  LGNC_REMOTE_NUM_10 = 881,
30  LGNC_REMOTE_NUM_11 = 882,
31  LGNC_REMOTE_NUM_12 = 883,
32  LGNC_REMOTE_DATA_HOSO = 885,
33 };
34 
35 enum LGNC_CURSOR_SIZE_T {
36  LGNC_CURSOR_SIZE_L = 0,
37  LGNC_CURSOR_SIZE_M = 1,
38  LGNC_CURSOR_SIZE_S = 2,
39  LGNC_CURSOR_SIZE_LASTEST = 3,
40  LGNC_CURSOR_SIZE_LAST = 4
41 };
42 
43 typedef enum LGNC_CURSOR_SIZE_T LGNC_CURSOR_SIZE_T;
44 
45 enum LGNC_CURSOR_TYPE_T {
46  LGNC_CURSOR_TYPE_A = 0,
47  LGNC_CURSOR_TYPE_B = 1,
48  LGNC_CURSOR_TYPE_C = 2,
49  LGNC_CURSOR_TYPE_D = 3,
50  LGNC_CURSOR_TYPE_DRAG = 4,
51  LGNC_CURSOR_TYPE_POINT = 5,
52  LGNC_CURSOR_TYPE_HOLD = 6,
53  LGNC_CURSOR_TYPE_GESTURE_POINT = 7,
54  LGNC_CURSOR_TYPE_DISABLE = 8,
55  LGNC_CURSOR_TYPE_CUSTOM_A = 9,
56  LGNC_CURSOR_TYPE_CUSTOM_B = 10,
57  LGNC_CURSOR_TYPE_CUSTOM_C = 11,
58  LGNC_CURSOR_TYPE_CUSTOM_D = 12,
59  LGNC_CURSOR_TYPE_CUSTOM_E = 13,
60  LGNC_CURSOR_TYPE_LASTEST = 14,
61  LGNC_CURSOR_TYPE_EXTERNAL = 15,
62  LGNC_CURSOR_TYPE_LAST = 16
63 };
64 
65 enum LGNC_CURSOR_STATE_T {
66  LGNC_CURSOR_STATE_NORMAL = 0,
67  LGNC_CURSOR_STATE_PRESS = 1,
68  LGNC_CURSOR_STATE_LASTEST = 2,
69  LGNC_CURSOR_STATE_LAST = 3,
70 };
71 
72 enum LGNC_CURSOR_HOTSPOT_T {
73  LGNC_CURSOR_HOTSPOT_LEFTTOP = 0,
74  LGNC_CURSOR_HOTSPOT_USERSETTING = 1,
75  LGNC_CURSOR_HOTSPOT_LAST = 2,
76 };
77 
78 
79 typedef struct LGNC_CTRL_INFO LGNC_CTRL_INFO, *PLGNC_CTRL_INFO;
80 
82  char projectName[32];
83  char modelName[32];
84  char hwVer[32];
85  char swVer[32];
86  char ESN[32];
87  char toolTypeName[32];
88  char serialNumber[32];
89  char modelInch[8];
90  char countryGroup[8];
91  char szDdrRam[8];
92 };
93 
94 typedef struct LGNC_CTRL_INFO LGNC_CTRL_INFO_T;
95 
96 typedef enum LGNC_CURSOR_HOTSPOT_T LGNC_CURSOR_HOTSPOT_T;
97 
98 typedef enum LGNC_CURSOR_SIZE_T LGNC_CURSOR_SIZE_T;
99 
100 typedef enum LGNC_CURSOR_STATE_T LGNC_CURSOR_STATE_T;
101 
102 typedef enum LGNC_CURSOR_TYPE_T LGNC_CURSOR_TYPE_T;
103 
104 typedef struct LGNC_CUSTOM_CURSOR {
105  char fileInfo[256];
106  LGNC_CURSOR_TYPE_T cursorType;
107  LGNC_CURSOR_SIZE_T cursorSize;
108  LGNC_CURSOR_STATE_T cursorState;
109  LGNC_CURSOR_HOTSPOT_T cursorHotSpot;
110  unsigned short gapX;
111  unsigned short gapY;
113 
114 int LGNC_SYSTEM_Initialize(int argc, char **argv, LGNC_CALLBACKS_T *callbacks);
115 
116 int LGNC_SYSTEM_Finalize(void);
117 
118 int LGNC_SYSTEM_GetDisplayId(int *displayId /* very likely to be wl_egl_window */);
119 
120 int LGNC_SYSTEM_GetDisplayResolution(int *width, int *height);
121 
122 int LGNC_SYSTEM_GetLanguage(char *language);
123 
124 int LGNC_SYSTEM_GetSaveDirectory(char *directory);
125 
126 int LGNC_SYSTEM_GetSystemInfo(LGNC_CTRL_INFO *info);
127 
128 int LGNC_SYSTEM_GetVersion(int *major, int *minor, int *patch);
129 
130 int LGNC_SYSTEM_SetCursorShape(void);
131 
132 int LGNC_SYSTEM_SetCustomCursor(void);
133 
134 #ifdef __cplusplus
135 }
136 #endif
Definition: lgnc_openapi_types.h:73
Definition: lgnc_system.h:81
Definition: lgnc_system.h:104