1 /**
2  * @file lv_windows_input.h
3  *
4  */
5 
6 #ifndef LV_WINDOWS_INPUT_H
7 #define LV_WINDOWS_INPUT_H
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 /*********************
14  *      INCLUDES
15  *********************/
16 
17 #include "../../display/lv_display.h"
18 #include "../../indev/lv_indev.h"
19 
20 #if LV_USE_WINDOWS
21 
22 #include <windows.h>
23 
24 /*********************
25  *      DEFINES
26  *********************/
27 
28 /**********************
29  *      TYPEDEFS
30  **********************/
31 
32 /**********************
33  * GLOBAL PROTOTYPES
34  **********************/
35 
36 /**
37  * @brief Get the window handle from specific LVGL input device object.
38  * @param indev The specific LVGL input device object.
39  * @return The window handle from specific LVGL input device object.
40 */
41 HWND lv_windows_get_indev_window_handle(lv_indev_t * indev);
42 
43 /**
44  * @brief Open a LVGL pointer input device object for the specific LVGL
45  *        display object, or create it if the LVGL pointer input device
46  *        object is not created or removed before.
47  * @param display The specific LVGL display object.
48  * @return The LVGL pointer input device object for the specific LVGL
49  *         display object.
50 */
51 lv_indev_t * lv_windows_acquire_pointer_indev(lv_display_t * display);
52 
53 /**
54  * @brief Open a LVGL keypad input device object for the specific LVGL
55  *        display object, or create it if the LVGL keypad input device
56  *        object is not created or removed before.
57  * @param display The specific LVGL display object.
58  * @return The LVGL keypad input device object for the specific LVGL
59  *         display object.
60 */
61 lv_indev_t * lv_windows_acquire_keypad_indev(lv_display_t * display);
62 
63 /**
64  * @brief Open a LVGL encoder input device object for the specific LVGL
65  *        display object, or create it if the LVGL encoder input device
66  *        object is not created or removed before.
67  * @param display The specific LVGL display object.
68  * @return The LVGL encoder input device object for the specific LVGL
69  *         display object.
70 */
71 lv_indev_t * lv_windows_acquire_encoder_indev(lv_display_t * display);
72 
73 /**********************
74  *      MACROS
75  **********************/
76 
77 #endif // LV_USE_WINDOWS
78 
79 #ifdef __cplusplus
80 } /*extern "C"*/
81 #endif
82 
83 #endif /*LV_WINDOWS_INPUT_H*/
84