]> git.proxmox.com Git - mirror_edk2.git/blob - ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.h
b66efd34561f655b74a5ecfad8a97281cdd5929d
[mirror_edk2.git] / ArmPlatformPkg / Drivers / LcdGraphicsOutputDxe / LcdGraphicsOutputDxe.h
1 /** @file
2
3 Copyright (c) 2011, ARM Ltd. All rights reserved.<BR>
4 This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12 **/
13
14 #ifndef __ARM_VE_GRAPHICS_DXE_H__
15 #define __ARM_VE_GRAPHICS_DXE_H__
16
17
18 #include <Base.h>
19
20 #include <Library/DebugLib.h>
21 #include <Library/LcdHwLib.h>
22 #include <Library/LcdPlatformLib.h>
23 #include <Library/PcdLib.h>
24 #include <Library/UefiLib.h>
25
26 #include <Protocol/DevicePath.h>
27
28
29 //
30 // Device structures
31 //
32 typedef struct {
33 VENDOR_DEVICE_PATH Guid;
34 EFI_DEVICE_PATH_PROTOCOL End;
35 } LCD_GRAPHICS_DEVICE_PATH;
36
37 typedef struct {
38 UINT32 Signature;
39 EFI_HANDLE Handle;
40 EFI_GRAPHICS_OUTPUT_MODE_INFORMATION ModeInfo;
41 EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE Mode;
42 EFI_GRAPHICS_OUTPUT_PROTOCOL Gop;
43 LCD_GRAPHICS_DEVICE_PATH DevicePath;
44 EFI_EVENT ExitBootServicesEvent;
45 } LCD_INSTANCE;
46
47 #define LCD_INSTANCE_SIGNATURE SIGNATURE_32('l', 'c', 'd', '0')
48
49 #define LCD_INSTANCE_FROM_GOP_THIS(a) CR (a, LCD_INSTANCE, Gop, LCD_INSTANCE_SIGNATURE)
50
51 //
52 // Function Prototypes
53 //
54
55 VOID
56 LcdGraphicsExitBootServicesEvent (
57 IN EFI_EVENT Event,
58 IN VOID *Context
59 );
60
61 EFI_STATUS
62 EFIAPI
63 LcdGraphicsQueryMode (
64 IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This,
65 IN UINT32 ModeNumber,
66 OUT UINTN *SizeOfInfo,
67 OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION **Info
68 );
69
70 EFI_STATUS
71 EFIAPI
72 LcdGraphicsSetMode (
73 IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This,
74 IN UINT32 ModeNumber
75 );
76
77 EFI_STATUS
78 EFIAPI
79 LcdGraphicsBlt (
80 IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This,
81 IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer, OPTIONAL
82 IN EFI_GRAPHICS_OUTPUT_BLT_OPERATION BltOperation,
83 IN UINTN SourceX,
84 IN UINTN SourceY,
85 IN UINTN DestinationX,
86 IN UINTN DestinationY,
87 IN UINTN Width,
88 IN UINTN Height,
89 IN UINTN Delta OPTIONAL
90 );
91
92 UINTN
93 GetBytesPerPixel (
94 IN LCD_BPP Bpp
95 );
96
97 EFI_STATUS
98 EFIAPI
99 GraphicsOutputDxeInitialize (
100 IN EFI_HANDLE ImageHandle,
101 IN EFI_SYSTEM_TABLE *SystemTable
102 );
103
104 EFI_STATUS
105 InitializeDisplay (
106 IN LCD_INSTANCE* Instance
107 );
108
109 #endif /* __ARM_VE_GRAPHICS_DXE_H__ */