LcdGraphicsOutputDxe.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. /** @file
  2. Copyright (c) 2011-2018, ARM Ltd. All rights reserved.<BR>
  3. SPDX-License-Identifier: BSD-2-Clause-Patent
  4. **/
  5. #ifndef LCD_GRAPHICS_OUTPUT_DXE_H_
  6. #define LCD_GRAPHICS_OUTPUT_DXE_H_
  7. #include <Base.h>
  8. #include <Library/DebugLib.h>
  9. #include <Library/LcdHwLib.h>
  10. #include <Library/LcdPlatformLib.h>
  11. #include <Library/PcdLib.h>
  12. #include <Library/UefiLib.h>
  13. #include <Protocol/DevicePath.h>
  14. //
  15. // Device structures
  16. //
  17. typedef struct {
  18. VENDOR_DEVICE_PATH Guid;
  19. EFI_DEVICE_PATH_PROTOCOL End;
  20. } LCD_GRAPHICS_DEVICE_PATH;
  21. typedef struct {
  22. UINT32 Signature;
  23. EFI_HANDLE Handle;
  24. EFI_GRAPHICS_OUTPUT_MODE_INFORMATION ModeInfo;
  25. EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE Mode;
  26. EFI_GRAPHICS_OUTPUT_PROTOCOL Gop;
  27. LCD_GRAPHICS_DEVICE_PATH DevicePath;
  28. EFI_EVENT ExitBootServicesEvent;
  29. } LCD_INSTANCE;
  30. #define LCD_INSTANCE_SIGNATURE SIGNATURE_32('l', 'c', 'd', '0')
  31. #define LCD_INSTANCE_FROM_GOP_THIS(a) CR (a, LCD_INSTANCE, Gop, LCD_INSTANCE_SIGNATURE)
  32. //
  33. // Function Prototypes
  34. //
  35. VOID
  36. LcdGraphicsExitBootServicesEvent (
  37. IN EFI_EVENT Event,
  38. IN VOID *Context
  39. );
  40. EFI_STATUS
  41. EFIAPI
  42. LcdGraphicsQueryMode (
  43. IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This,
  44. IN UINT32 ModeNumber,
  45. OUT UINTN *SizeOfInfo,
  46. OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION **Info
  47. );
  48. EFI_STATUS
  49. EFIAPI
  50. LcdGraphicsSetMode (
  51. IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This,
  52. IN UINT32 ModeNumber
  53. );
  54. EFI_STATUS
  55. EFIAPI
  56. LcdGraphicsBlt (
  57. IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This,
  58. IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer, OPTIONAL
  59. IN EFI_GRAPHICS_OUTPUT_BLT_OPERATION BltOperation,
  60. IN UINTN SourceX,
  61. IN UINTN SourceY,
  62. IN UINTN DestinationX,
  63. IN UINTN DestinationY,
  64. IN UINTN Width,
  65. IN UINTN Height,
  66. IN UINTN Delta OPTIONAL
  67. );
  68. UINTN
  69. GetBytesPerPixel (
  70. IN LCD_BPP Bpp
  71. );
  72. EFI_STATUS
  73. EFIAPI
  74. GraphicsOutputDxeInitialize (
  75. IN EFI_HANDLE ImageHandle,
  76. IN EFI_SYSTEM_TABLE *SystemTable
  77. );
  78. EFI_STATUS
  79. InitializeDisplay (
  80. IN LCD_INSTANCE* Instance
  81. );
  82. #endif /* LCD_GRAPHICS_OUTPUT_DXE_H_ */