1 /***************************************************************************
2  * Copyright (c) 2024 Microsoft Corporation
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the MIT License which is available at
6  * https://opensource.org/licenses/MIT.
7  *
8  * SPDX-License-Identifier: MIT
9  **************************************************************************/
10 
11 
12 /**************************************************************************/
13 /**************************************************************************/
14 /**                                                                       */
15 /** GUIX Component                                                        */
16 /**                                                                       */
17 /**   User optional settings                                              */
18 /**                                                                       */
19 /**************************************************************************/
20 /**************************************************************************/
21 /**************************************************************************/
22 /*                                                                        */
23 /*  APPLICATION INTERFACE DEFINITION                       RELEASE        */
24 /*                                                                        */
25 /*    gx_user.h                                           PORTABLE C      */
26 /*                                                           6.3.0        */
27 /*  AUTHOR                                                                */
28 /*                                                                        */
29 /*    Kenneth Maxwell, Microsoft Corporation                              */
30 /*                                                                        */
31 /*  DESCRIPTION                                                           */
32 /*                                                                        */
33 /*    This file contains optional settings. You can enable and disable    */
34 /*    GUIX features by commenting out or including the definitions below  */
35 /*    to the implementation of high-performance GUIX UI framework.        */
36 /*                                                                        */
37 /*  RELEASE HISTORY                                                       */
38 /*                                                                        */
39 /*    DATE              NAME                      DESCRIPTION             */
40 /*                                                                        */
41 /*  05-19-2020     Kenneth Maxwell          Initial Version 6.0           */
42 /*  09-30-2020     Kenneth Maxwell          Modified comment(s),          */
43 /*                                            resulting in version 6.1    */
44 /*  01-31-2022     Kenneth Maxwell          Modified comment(s),          */
45 /*                                            fixed typo,                 */
46 /*                                            resulting in version 6.1.10 */
47 /*  10-31-2023     Ting Zhu                 Modified comment(s), added    */
48 /*                                            GX_ENABLE_ARM_HELIUM and    */
49 /*                                            partial canvas frame buffer */
50 /*                                            support configurations,     */
51 /*                                            resulting in version 6.3.0  */
52 /*                                                                        */
53 /**************************************************************************/
54 
55 #ifndef GX_USER_H
56 #define GX_USER_H
57 
58 /* Should GUIX support multiple threads using the GUIX API simultaneously
59    If your application is organized such that only one thread utilizes the
60    GUI API services, comment out the definition below to reduce system
61    overhead.
62  */
63 /* #define GX_DISABLE_MULTITHREAD_SUPPORT */
64 
65 /* Defined, GUIX disables UTF8 support.  */
66 /* #define GX_DISABLE_UTF8_SUPPORT */
67 
68 /* By default GUIX System Timer runs at 20ms.  Modify the value below to
69    change GUIX System Timer value. */
70 /* #define GX_SYSTEM_TIMER_MS  20 */
71 
72 /* This can be defined to insert an application specific data
73    field into the GX_WIDGET control block */
74 /* #define GX_WIDGET_USER_DATA */
75 
76 /* This can be defined to enable the use of ARM Helium intrinsics for
77    JPEG decoding. */
78 /* #define GX_ENABLE_ARM_HELIUM */
79 
80 /* This can be defined to enable the partial canvas frame buffer feature. */
81 /* #define GX_ENABLE_CANVAS_PARTIAL_FRAME_BUFFER */
82 
83 /* The two following definitions can be used to specify the canvas refresh directions for the partial canvas frame buffer feature.
84    By default, the canvas refreshes its dirty areas one by one.
85    If the application requires refreshing the canvas in a specific direction to mitigate tearing effects, one of the following two definitions can be used.
86    In this scenario, the total dirty area that covers all the dirty areas is calculated, and then the canvas is refreshed in the direction
87    defined by one of the following two definitions. */
88 
89 /* #define GX_CANVAS_REFRESH_DIRECTION_HORIZONTAL */
90 /* #define GX_CANVAS_REFRESH_DIRECTION_VERTICAL */
91 
92 #endif
93 
94