1 
2 /***************************************************************************
3  * Copyright (c) 2024 Microsoft Corporation
4  *
5  * This program and the accompanying materials are made available under the
6  * terms of the MIT License which is available at
7  * https://opensource.org/licenses/MIT.
8  *
9  * SPDX-License-Identifier: MIT
10  **************************************************************************/
11 
12 
13 /**************************************************************************/
14 /**************************************************************************/
15 /**                                                                       */
16 /** GUIX Component                                                        */
17 /**                                                                       */
18 /**   Display Management (Display)                                        */
19 /**                                                                       */
20 /**************************************************************************/
21 
22 #define GX_SOURCE_CODE
23 /* Include necessary system files.  */
24 
25 #include "gx_api.h"
26 #include "gx_display.h"
27 
28 
29 /**************************************************************************/
30 /*                                                                        */
31 /*  FUNCTION                                               RELEASE        */
32 /*                                                                        */
33 /*    _gx_display_driver_4444argb_setup                   PORTABLE C      */
34 /*                                                           6.1          */
35 /*  AUTHOR                                                                */
36 /*                                                                        */
37 /*    Kenneth Maxwell, Microsoft Corporation                              */
38 /*                                                                        */
39 /*  DESCRIPTION                                                           */
40 /*                                                                        */
41 /*    Generic 16-bit 4444ARGB color format display driver setup routine.  */
42 /*                                                                        */
43 /*  INPUT                                                                 */
44 /*                                                                        */
45 /*    display                               The display control block     */
46 /*    aux_data                              Driver-defined auxiliary data */
47 /*    toggle_function                       Driver-defined screen toggle  */
48 /*                                            function                    */
49 /*                                                                        */
50 /*  OUTPUT                                                                */
51 /*                                                                        */
52 /*    None                                                                */
53 /*                                                                        */
54 /*  CALLS                                                                 */
55 /*                                                                        */
56 /*    _gx_display_driver_565rgb_setup       Basic display driver setup .  */
57 /*                                            function for generic 565rgb */
58 /*                                            color format                */
59 /*                                                                        */
60 /*  CALLED BY                                                             */
61 /*                                                                        */
62 /*    GUIX Internal Code                                                  */
63 /*                                                                        */
64 /*  RELEASE HISTORY                                                       */
65 /*                                                                        */
66 /*    DATE              NAME                      DESCRIPTION             */
67 /*                                                                        */
68 /*  05-19-2020     Kenneth Maxwell          Initial Version 6.0           */
69 /*  09-30-2020     Kenneth Maxwell          Modified comment(s),          */
70 /*                                            resulting in version 6.1    */
71 /*                                                                        */
72 /**************************************************************************/
_gx_display_driver_4444argb_setup(GX_DISPLAY * display,VOID * aux_data,VOID (* toggle_function)(struct GX_CANVAS_STRUCT * canvas,GX_RECTANGLE * dirty_area))73 VOID _gx_display_driver_4444argb_setup(GX_DISPLAY *display, VOID *aux_data,
74                                        VOID (*toggle_function)(struct GX_CANVAS_STRUCT *canvas,
75                                                                GX_RECTANGLE *dirty_area))
76 {
77     _gx_display_driver_565rgb_setup(display, aux_data, toggle_function);
78     display -> gx_display_color_format                           = GX_COLOR_FORMAT_4444ARGB;
79     display -> gx_display_driver_native_color_get                = _gx_display_driver_4444argb_native_color_get;
80     display -> gx_display_driver_pixelmap_draw                   = _gx_display_driver_4444argb_pixelmap_draw;
81     display -> gx_display_driver_pixelmap_blend                  = _gx_display_driver_4444argb_pixelmap_blend;
82     display -> gx_display_driver_canvas_blend                    = _gx_display_driver_4444argb_canvas_blend;
83     display -> gx_display_driver_pixel_blend                     = _gx_display_driver_4444argb_pixel_blend;
84     display -> gx_display_driver_horizontal_pixelmap_line_draw   = _gx_display_driver_4444argb_horizontal_pixelmap_line_draw;
85     display -> gx_display_driver_pixelmap_rotate                 = _gx_display_driver_4444argb_pixelmap_rotate;
86 }
87 
88