TianoCore EDK2 master
Loading...
Searching...
No Matches
EmuGraphicsWindow.h
1/*++ @file
2
3Copyright (c) 2006, Tristan Gingold. All rights reserved.<BR>
4Portitions copyright (c) 2010 - 2011, Apple Inc. All rights reserved.
5SPDX-License-Identifier: BSD-2-Clause-Patent
6
7**/
8
9#ifndef _EMU_UGA_IO_H_
10#define _EMU_UGA_IO_H_
11
15#include <Protocol/UgaDraw.h>
16
17#define EMU_GRAPHICS_WINDOW_PROTOCOL_GUID \
18 { 0x30FD316A, 0x6728, 0x2E41, { 0xA6, 0x90, 0x0D, 0x13, 0x33, 0xD8, 0xCA, 0xC1 } }
19
21
22typedef
24(EFIAPI *EMU_GRAPHICS_WINDOWS_CLOSE)(
26 );
27
28typedef
30(EFIAPI *EMU_GRAPHICS_WINDOWS_SIZE)(
32 UINT32 Width,
33 UINT32 Height
34 );
35
36typedef
38(EFIAPI *EMU_GRAPHICS_WINDOWS_CHECK_KEY)(
40 );
41
42typedef
44(EFIAPI *EMU_GRAPHICS_WINDOWS_GET_KEY)(
46 EFI_KEY_DATA *key
47 );
48
49typedef
51(EFIAPI *EMU_GRAPHICS_WINDOWS_KEY_SET_STATE)(
52 IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows,
53 IN EFI_KEY_TOGGLE_STATE *KeyToggleState
54 );
55
56typedef
57VOID
58(EFIAPI *EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK)(
59 IN VOID *Context,
60 IN EFI_KEY_DATA *KeyData
61 );
62
63typedef
65(EFIAPI *EMU_GRAPHICS_WINDOWS_REGISTER_KEY_NOTIFY)(
66 IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows,
67 IN EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK MakeCallBack,
68 IN EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK BreakCallBack,
69 IN VOID *Context
70 );
71
72typedef struct {
73 UINTN SourceX;
74 UINTN SourceY;
75 UINTN DestinationX;
76 UINTN DestinationY;
77 UINTN Width;
78 UINTN Height;
79 UINTN Delta;
81
82typedef
84(EFIAPI *EMU_GRAPHICS_WINDOWS_BLT)(
85 IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows,
86 IN EFI_UGA_PIXEL *BltBuffer OPTIONAL,
87 IN EFI_UGA_BLT_OPERATION BltOperation,
89 );
90
91typedef
92BOOLEAN
93(EFIAPI *EMU_GRAPHICS_WINDOWS_IS_KEY_PRESSED)(
94 IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows,
95 IN EFI_KEY_DATA *KeyData
96 );
97
98typedef
100(EFIAPI *EMU_GRAPHICS_WINDOWS_CHECK_POINTER)(
101 EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows
102 );
103
104typedef
106(EFIAPI *EMU_GRAPHICS_WINDOWS_GET_POINTER_STATE)(
107 EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows,
109 );
110
112 EMU_GRAPHICS_WINDOWS_SIZE Size;
113 EMU_GRAPHICS_WINDOWS_CHECK_KEY CheckKey;
114 EMU_GRAPHICS_WINDOWS_KEY_SET_STATE KeySetState;
115 EMU_GRAPHICS_WINDOWS_GET_KEY GetKey;
116 EMU_GRAPHICS_WINDOWS_REGISTER_KEY_NOTIFY RegisterKeyNotify;
117 EMU_GRAPHICS_WINDOWS_BLT Blt;
118 EMU_GRAPHICS_WINDOWS_IS_KEY_PRESSED IsKeyPressed;
119 EMU_GRAPHICS_WINDOWS_CHECK_POINTER CheckPointer;
120 EMU_GRAPHICS_WINDOWS_GET_POINTER_STATE GetPointerState;
121};
122
123extern EFI_GUID gEmuGraphicsWindowProtocolGuid;
124
125#endif
UINT64 UINTN
#define OPTIONAL
Definition: Base.h:290
#define IN
Definition: Base.h:279
UINT8 EFI_KEY_TOGGLE_STATE
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
EFI_UGA_BLT_OPERATION
Definition: UgaDraw.h:83
Definition: Base.h:213