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 /** Synergy Simulation Display Management (Display) */ 18 /** */ 19 /**************************************************************************/ 20 /**************************************************************************/ 21 22 23 /**************************************************************************/ 24 /* */ 25 /* COMPONENT DEFINITION RELEASE */ 26 /* */ 27 /* gx_dave2d_simulation_display_driver.h PORTABLE C */ 28 /* 6.4.0 */ 29 /* AUTHOR */ 30 /* */ 31 /* Ting Zhu, Microsoft Corporation */ 32 /* */ 33 /* DESCRIPTION */ 34 /* */ 35 /* Define drivers for Synergy Win32 simulation. */ 36 /* */ 37 /* */ 38 /* RELEASE HISTORY */ 39 /* */ 40 /* DATE NAME DESCRIPTION */ 41 /* */ 42 /* 12-31-2023 Ting Zhu Initial Version 6.4.0 */ 43 /* */ 44 /**************************************************************************/ 45 46 #ifndef GX_DAVE2D_SIMULATION_DISPLAY_H 47 #define GX_DAVE2D_SIMULATION_DISPLAY_H 48 49 50 51 VOID _gx_dave2d_simulation_display_driver_16bpp_compressed_glyph_1bit_draw(GX_DRAW_CONTEXT *context, GX_RECTANGLE *draw_area, 52 GX_POINT *map_offset, GX_CONST GX_GLYPH *glyph); 53 VOID _gx_dave2d_simulation_display_driver_16bpp_glyph_1bit_draw(GX_DRAW_CONTEXT *context, GX_RECTANGLE *draw_area, 54 GX_POINT *map_offset, GX_CONST GX_GLYPH *glyph); 55 VOID _gx_dave2d_simulation_display_driver_16bpp_pixelmap_draw(GX_DRAW_CONTEXT *context, 56 INT xpos, INT ypos, GX_PIXELMAP *pixelmap); 57 VOID _gx_dave2d_simulation_display_driver_565rgb_pixelmap_blend(GX_DRAW_CONTEXT *context, INT xpos, INT ypos, GX_PIXELMAP *pixelmap, GX_UBYTE alpha); 58 VOID _gx_dave2d_simulation_display_driver_565rgb_setup(GX_DISPLAY *display, VOID *aux_data, 59 VOID (*toggle_function)(struct GX_CANVAS_STRUCT *canvas, GX_RECTANGLE *dirty_area)); 60 VOID _gx_dave2d_simulation_display_driver_565rgb_horizontal_pixelmap_line_draw(GX_DRAW_CONTEXT *context, INT xstart, INT xend, INT y, struct GX_FILL_PIXELMAP_INFO_STRUCT *info); 61 62 63 VOID _gx_dave2d_simulation_display_driver_32bpp_compressed_glyph_1bit_draw(GX_DRAW_CONTEXT *context, GX_RECTANGLE *draw_area, 64 GX_POINT *map_offset, GX_CONST GX_GLYPH *glyph); 65 VOID _gx_dave2d_simulation_display_driver_32bpp_glyph_1bit_draw(GX_DRAW_CONTEXT *context, GX_RECTANGLE *draw_area, 66 GX_POINT *map_offset, GX_CONST GX_GLYPH *glyph); 67 VOID _gx_dave2d_simulation_display_driver_32bpp_horizontal_pixelmap_line_draw(GX_DRAW_CONTEXT *context, INT xstart, INT xend, INT y, struct GX_FILL_PIXELMAP_INFO_STRUCT *info); 68 VOID _gx_dave2d_simulation_display_driver_24xrgb_pixelmap_blend(GX_DRAW_CONTEXT *context, INT xpos, INT ypos, GX_PIXELMAP *pixelmap, GX_UBYTE alpha); 69 VOID _gx_dave2d_simulation_display_driver_24xrgb_pixelmap_draw(GX_DRAW_CONTEXT *context, 70 INT xpos, INT ypos, GX_PIXELMAP *pixelmap); 71 VOID _gx_dave2d_simulation_display_driver_24xrgb_setup(GX_DISPLAY *display, VOID *aux_data, 72 VOID (*toggle_function)(struct GX_CANVAS_STRUCT *canvas, GX_RECTANGLE *dirty_area)); 73 74 VOID _gx_dave2d_simulation_display_driver_8bpp_glyph_4bit_draw(GX_DRAW_CONTEXT *context, GX_RECTANGLE *draw_area, GX_POINT *map_offset, GX_CONST GX_GLYPH *glyph); 75 VOID _gx_dave2d_simulation_display_driver_8bpp_glyph_1bit_draw(GX_DRAW_CONTEXT *context, GX_RECTANGLE *draw_area, GX_POINT *map_offset, GX_CONST GX_GLYPH *glyph); 76 VOID _gx_dave2d_simulation_display_driver_8bit_palette_setup(GX_DISPLAY *display, VOID *aux_data, 77 VOID (*toggle_function)(struct GX_CANVAS_STRUCT *canvas, GX_RECTANGLE *dirty_area)); 78 VOID _gx_dave2d_simulation_display_driver_8bpp_rotated_glyph_4bit_draw(GX_DRAW_CONTEXT *context, GX_RECTANGLE *draw_area, GX_POINT *map_offset, GX_CONST GX_GLYPH *glyph); 79 VOID _gx_dave2d_simulation_display_driver_8bpp_rotated_glyph_1bit_draw(GX_DRAW_CONTEXT *context, GX_RECTANGLE *draw_area, GX_POINT *map_offset, GX_CONST GX_GLYPH *glyph); 80 VOID _gx_dave2d_simulation_display_driver_8bit_palette_rotated_setup(GX_DISPLAY *display, VOID *aux_data, 81 VOID (*toggle_function)(struct GX_CANVAS_STRUCT *canvas, GX_RECTANGLE *dirty_area)); 82 83 VOID _gx_dave2d_simulation_display_driver_compressed_glyph_8bit_draw(GX_DRAW_CONTEXT *context, GX_RECTANGLE *draw_area, 84 GX_POINT *map_offset, GX_CONST GX_GLYPH *glyph); 85 VOID _gx_dave2d_simulation_display_driver_compressed_glyph_4bit_draw(GX_DRAW_CONTEXT *context, GX_RECTANGLE *draw_area, 86 GX_POINT *map_offset, GX_CONST GX_GLYPH *glyph); 87 VOID _gx_dave2d_simulation_display_driver_glyph_4bit_draw(GX_DRAW_CONTEXT *context, GX_RECTANGLE *draw_area, 88 GX_POINT *map_offset, GX_CONST GX_GLYPH *glyph); 89 90 /* Declare rotated display drivers prototypes. */ 91 VOID _gx_dave2d_simulation_display_driver_32bpp_rotated_compressed_glyph_1bit_draw(GX_DRAW_CONTEXT *context, GX_RECTANGLE *draw_area, 92 GX_POINT *map_offset, GX_CONST GX_GLYPH *glyph); 93 VOID _gx_dave2d_simulation_display_driver_32bpp_rotated_glyph_1bit_draw(GX_DRAW_CONTEXT *context, GX_RECTANGLE *draw_area, 94 GX_POINT *map_offset, GX_CONST GX_GLYPH *glyph); 95 VOID _gx_dave2d_simulation_display_driver_32bpp_rotated_horizontal_pixelmap_line_draw(GX_DRAW_CONTEXT *context, INT xstart, INT xend, INT y, struct GX_FILL_PIXELMAP_INFO_STRUCT *info); 96 VOID _gx_dave2d_simulation_display_driver_24xrgb_rotated_pixelmap_blend(GX_DRAW_CONTEXT *context, INT xpos, INT ypos, GX_PIXELMAP *pixelmap, GX_UBYTE alpha); 97 VOID _gx_dave2d_simulation_display_driver_24xrgb_rotated_pixelmap_draw(GX_DRAW_CONTEXT *context, 98 INT xpos, INT ypos, GX_PIXELMAP *pixelmap); 99 VOID _gx_dave2d_simulation_display_driver_24xrgb_rotated_setup(GX_DISPLAY *display, VOID *aux_data, 100 VOID (*toggle_function)(struct GX_CANVAS_STRUCT *canvas, GX_RECTANGLE *dirty_area)); 101 102 VOID _gx_dave2d_simulation_display_driver_16bpp_rotated_compressed_glyph_1bit_draw(GX_DRAW_CONTEXT *context, GX_RECTANGLE *draw_area, 103 GX_POINT *map_offset, GX_CONST GX_GLYPH *glyph); 104 VOID _gx_dave2d_simulation_display_driver_16bpp_rotated_glyph_1bit_draw(GX_DRAW_CONTEXT *context, GX_RECTANGLE *draw_area, 105 GX_POINT *map_offset, GX_CONST GX_GLYPH *glyph); 106 VOID _gx_dave2d_simulation_display_driver_565rgb_rotated_pixelmap_draw(GX_DRAW_CONTEXT *context, 107 INT xpos, INT ypos, GX_PIXELMAP *pixelmap); 108 VOID _gx_dave2d_simulation_display_driver_565rgb_rotated_pixelmap_blend(GX_DRAW_CONTEXT *context, INT xpos, INT ypos, GX_PIXELMAP *pixelmap, GX_UBYTE alpha); 109 VOID _gx_dave2d_simulation_display_driver_565rgb_rotated_setup(GX_DISPLAY *display, VOID *aux_data, 110 VOID (*toggle_function)(struct GX_CANVAS_STRUCT *canvas, GX_RECTANGLE *dirty_area)); 111 VOID _gx_dave2d_simulation_display_driver_565rgb_rotated_horizontal_pixelmap_line_draw(GX_DRAW_CONTEXT *context, INT xstart, INT xend, INT y, struct GX_FILL_PIXELMAP_INFO_STRUCT *info); 112 VOID _gx_dave2d_simulation_display_driver_rotated_compressed_glyph_8bit_draw(GX_DRAW_CONTEXT *context, GX_RECTANGLE *draw_area, 113 GX_POINT *map_offset, GX_CONST GX_GLYPH *glyph); 114 VOID _gx_dave2d_simulation_display_driver_rotated_compressed_glyph_4bit_draw(GX_DRAW_CONTEXT *context, GX_RECTANGLE *draw_area, 115 GX_POINT *map_offset, GX_CONST GX_GLYPH *glyph); 116 VOID _gx_dave2d_simulation_display_driver_rotated_glyph_4bit_draw(GX_DRAW_CONTEXT *context, GX_RECTANGLE *draw_area, 117 GX_POINT *map_offset, GX_CONST GX_GLYPH *glyph); 118 119 #endif 120 121