2011-06-11 13:12:38 +02:00
|
|
|
/** @file
|
|
|
|
|
2017-09-26 22:15:11 +02:00
|
|
|
Copyright (c) 2011-2018, ARM Ltd. All rights reserved.<BR>
|
2011-06-11 13:12:38 +02:00
|
|
|
This program and the accompanying materials
|
|
|
|
are licensed and made available under the terms and conditions of the BSD License
|
|
|
|
which accompanies this distribution. The full text of the license may be found at
|
|
|
|
http://opensource.org/licenses/bsd-license.php
|
|
|
|
|
|
|
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
|
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
|
|
|
|
|
|
**/
|
|
|
|
|
2017-09-26 22:15:11 +02:00
|
|
|
#ifndef LCD_GRAPHICS_OUTPUT_DXE_H_
|
|
|
|
#define LCD_GRAPHICS_OUTPUT_DXE_H_
|
2011-06-11 13:12:38 +02:00
|
|
|
|
|
|
|
#include <Base.h>
|
2011-07-01 21:51:48 +02:00
|
|
|
|
|
|
|
#include <Library/DebugLib.h>
|
2017-12-01 12:01:02 +01:00
|
|
|
#include <Library/LcdHwLib.h>
|
2011-07-01 21:51:48 +02:00
|
|
|
#include <Library/LcdPlatformLib.h>
|
|
|
|
#include <Library/PcdLib.h>
|
2011-06-11 13:12:38 +02:00
|
|
|
#include <Library/UefiLib.h>
|
2011-07-01 21:51:48 +02:00
|
|
|
|
2011-06-11 13:12:38 +02:00
|
|
|
#include <Protocol/DevicePath.h>
|
|
|
|
|
|
|
|
//
|
|
|
|
// Device structures
|
|
|
|
//
|
|
|
|
typedef struct {
|
|
|
|
VENDOR_DEVICE_PATH Guid;
|
|
|
|
EFI_DEVICE_PATH_PROTOCOL End;
|
|
|
|
} LCD_GRAPHICS_DEVICE_PATH;
|
|
|
|
|
|
|
|
typedef struct {
|
2013-03-12 02:00:30 +01:00
|
|
|
UINT32 Signature;
|
2011-06-11 13:12:38 +02:00
|
|
|
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
|
|
|
|
);
|
|
|
|
|
2017-09-26 22:15:11 +02:00
|
|
|
#endif /* LCD_GRAPHICS_OUTPUT_DXE_H_ */
|