1 /*
2  * Copyright 2019 NXP
3  * All rights reserved.
4  *
5  * SPDX-License-Identifier: BSD-3-Clause
6  */
7 
8 #ifndef _VGLITE_WINDOW_H_
9 #define _VGLITE_WINDOW_H_
10 
11 #include "fsl_common.h"
12 #include "vg_lite.h"
13 #include "vglite_support.h"
14 #include "display_support.h"
15 #include "fsl_fbdev.h"
16 
17 /*******************************************************************************
18  * Definitions
19  ******************************************************************************/
20 
21 #define APP_BUFFER_COUNT 2
22 
23 typedef struct vg_lite_display
24 {
25     fbdev_t g_fbdev;
26     fbdev_fb_info_t g_fbInfo;
27 } vg_lite_display_t;
28 
29 typedef struct vg_lite_window
30 {
31     vg_lite_display_t *display;
32     vg_lite_buffer_t buffers[APP_BUFFER_COUNT];
33     int width;
34     int height;
35     int bufferCount;
36     int current;
37 } vg_lite_window_t;
38 
39 /*******************************************************************************
40  * API
41  ******************************************************************************/
42 #if defined(__cplusplus)
43 extern "C" {
44 #endif /* __cplusplus */
45 
46 vg_lite_error_t VGLITE_CreateDisplay(vg_lite_display_t *display);
47 
48 vg_lite_error_t VGLITE_CreateWindow(vg_lite_display_t *display, vg_lite_window_t *window);
49 
50 vg_lite_error_t VGLITE_DestoryWindow(void);
51 
52 vg_lite_error_t VGLITE_DestroyDisplay(void);
53 
54 vg_lite_buffer_t *VGLITE_GetRenderTarget(vg_lite_window_t *window);
55 
56 void VGLITE_SwapBuffers(vg_lite_window_t *window);
57 
58 #if defined(__cplusplus)
59 }
60 #endif /* __cplusplus */
61 
62 #endif /* _VGLITE_WINDOW_H_ */
63