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 23 #define GX_SOURCE_CODE 24 25 26 /* Include necessary system files. */ 27 28 #include "gx_api.h" 29 #include "gx_display.h" 30 31 /**************************************************************************/ 32 /* */ 33 /* FUNCTION RELEASE */ 34 /* */ 35 /* _gx_display_driver_8bit_palette_rotated_setup PORTABLE C */ 36 /* 6.1.4 */ 37 /* AUTHOR */ 38 /* */ 39 /* Kenneth Maxwell, Microsoft Corporation */ 40 /* */ 41 /* DESCRIPTION */ 42 /* */ 43 /* 8-bit palettte color format display driver rotated setup routine. */ 44 /* */ 45 /* INPUT */ 46 /* */ 47 /* display The display control block */ 48 /* aux_data Driver-defined auxiliary data */ 49 /* toggle_function Driver-defined screen toggle */ 50 /* function */ 51 /* */ 52 /* OUTPUT */ 53 /* */ 54 /* None */ 55 /* */ 56 /* CALLS */ 57 /* */ 58 /* None */ 59 /* */ 60 /* CALLED BY */ 61 /* */ 62 /* GUIX Internal Code */ 63 /* */ 64 /* RELEASE HISTORY */ 65 /* */ 66 /* DATE NAME DESCRIPTION */ 67 /* */ 68 /* 02-02-2021 Kenneth Maxwell Initial Version 6.1.4 */ 69 /* */ 70 /**************************************************************************/ _gx_display_driver_8bit_palette_rotated_setup(GX_DISPLAY * display,VOID * aux_data,VOID (* toggle_function)(struct GX_CANVAS_STRUCT * canvas,GX_RECTANGLE * dirty_area))71VOID _gx_display_driver_8bit_palette_rotated_setup(GX_DISPLAY *display, VOID *aux_data, 72 VOID (*toggle_function)(struct GX_CANVAS_STRUCT *canvas, 73 GX_RECTANGLE *dirty_area)) 74 { 75 _gx_display_driver_8bit_palette_setup(display, aux_data, toggle_function); 76 77 #if defined(GX_MOUSE_SUPPORT) 78 display -> gx_display_mouse_capture = GX_NULL; 79 display -> gx_display_mouse_restore = GX_NULL; 80 display -> gx_display_mouse_capture = GX_NULL; 81 display -> gx_display_mouse_restore = GX_NULL; 82 display -> gx_display_mouse_draw = GX_NULL; 83 display -> gx_display_driver_drawing_initiate = GX_NULL; 84 display -> gx_display_driver_drawing_complete = GX_NULL; 85 display -> gx_display_mouse_position_set = GX_NULL; 86 display -> gx_display_mouse_enable = GX_NULL; 87 #endif 88 89 display -> gx_display_rotation_angle = GX_SCREEN_ROTATION_CW; 90 91 display -> gx_display_driver_canvas_copy = _gx_display_driver_8bpp_rotated_canvas_copy; 92 display -> gx_display_driver_simple_line_draw = _gx_display_driver_8bpp_rotated_simple_line_draw; 93 display -> gx_display_driver_horizontal_line_draw = _gx_display_driver_8bpp_rotated_horizontal_line_draw; 94 display -> gx_display_driver_vertical_line_draw = _gx_display_driver_8bpp_rotated_vertical_line_draw; 95 display -> gx_display_driver_horizontal_pattern_line_draw = _gx_display_driver_8bpp_rotated_horizontal_pattern_line_draw; 96 display -> gx_display_driver_horizontal_pixelmap_line_draw = _gx_display_driver_8bpp_rotated_horizontal_pixelmap_line_draw; 97 display -> gx_display_driver_vertical_pattern_line_draw = _gx_display_driver_8bpp_rotated_vertical_pattern_line_draw; 98 display -> gx_display_driver_pixel_write = _gx_display_driver_8bpp_rotated_pixel_write; 99 display -> gx_display_driver_block_move = _gx_display_driver_8bpp_rotated_block_move; 100 101 display -> gx_display_driver_pixelmap_draw = _gx_display_driver_8bpp_rotated_pixelmap_draw; 102 display -> gx_display_driver_pixelmap_rotate = _gx_display_driver_8bpp_rotated_pixelmap_rotate; 103 display -> gx_display_driver_polygon_fill = _gx_display_driver_generic_rotated_polygon_fill; 104 105 #if defined(GX_ARC_DRAWING_SUPPORT) 106 display -> gx_display_driver_circle_fill = _gx_display_driver_generic_rotated_circle_fill; 107 display -> gx_display_driver_pie_fill = _gx_display_driver_generic_rotated_pie_fill; 108 display -> gx_display_driver_arc_fill = _gx_display_driver_generic_rotated_arc_fill; 109 display -> gx_display_driver_ellipse_fill = _gx_display_driver_generic_rotated_ellipse_fill; 110 #endif 111 112 #if (GX_PALETTE_MODE_AA_TEXT_COLORS == 8) 113 display -> gx_display_driver_4bit_glyph_draw = _gx_display_driver_8bpp_rotated_glyph_3bit_draw; 114 #else 115 display -> gx_display_driver_4bit_glyph_draw = _gx_display_driver_8bpp_rotated_glyph_4bit_draw; 116 #endif 117 display -> gx_display_driver_1bit_glyph_draw = _gx_display_driver_8bpp_rotated_glyph_1bit_draw; 118 } 119 120