/** @file Copyright (c) 2011-2018, ARM Ltd. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef LCD_GRAPHICS_OUTPUT_DXE_H_ #define LCD_GRAPHICS_OUTPUT_DXE_H_ #include #include #include #include #include #include #include // // Device structures // typedef struct { VENDOR_DEVICE_PATH Guid; EFI_DEVICE_PATH_PROTOCOL End; } LCD_GRAPHICS_DEVICE_PATH; typedef struct { UINT32 Signature; EFI_HANDLE Handle; EFI_GRAPHICS_OUTPUT_MODE_INFORMATION ModeInfo; EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE Mode; EFI_GRAPHICS_OUTPUT_PROTOCOL Gop; LCD_GRAPHICS_DEVICE_PATH DevicePath; EFI_EVENT ExitBootServicesEvent; } LCD_INSTANCE; #define LCD_INSTANCE_SIGNATURE SIGNATURE_32('l', 'c', 'd', '0') #define LCD_INSTANCE_FROM_GOP_THIS(a) CR (a, LCD_INSTANCE, Gop, LCD_INSTANCE_SIGNATURE) // // Function Prototypes // VOID LcdGraphicsExitBootServicesEvent ( IN EFI_EVENT Event, IN VOID *Context ); EFI_STATUS EFIAPI LcdGraphicsQueryMode ( IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This, IN UINT32 ModeNumber, OUT UINTN *SizeOfInfo, OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION **Info ); EFI_STATUS EFIAPI LcdGraphicsSetMode ( IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This, IN UINT32 ModeNumber ); EFI_STATUS EFIAPI LcdGraphicsBlt ( IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This, IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer, OPTIONAL IN EFI_GRAPHICS_OUTPUT_BLT_OPERATION BltOperation, IN UINTN SourceX, IN UINTN SourceY, IN UINTN DestinationX, IN UINTN DestinationY, IN UINTN Width, IN UINTN Height, IN UINTN Delta OPTIONAL ); UINTN GetBytesPerPixel ( IN LCD_BPP Bpp ); EFI_STATUS EFIAPI GraphicsOutputDxeInitialize ( IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable ); EFI_STATUS InitializeDisplay ( IN LCD_INSTANCE* Instance ); #endif /* LCD_GRAPHICS_OUTPUT_DXE_H_ */