]> git.proxmox.com Git - mirror_edk2.git/blame - EmulatorPkg/Include/Protocol/EmuGraphicsWindow.h
EmbeddedPkg: Apply uncrustify changes
[mirror_edk2.git] / EmulatorPkg / Include / Protocol / EmuGraphicsWindow.h
CommitLineData
79e4f2a5
RN
1/*++ @file\r
2\r
3Copyright (c) 2006, Tristan Gingold. All rights reserved.<BR>\r
4Portitions copyright (c) 2010 - 2011, Apple Inc. All rights reserved.\r
e3ba31da 5SPDX-License-Identifier: BSD-2-Clause-Patent\r
79e4f2a5
RN
6\r
7**/\r
8\r
9#ifndef _EMU_UGA_IO_H_\r
10#define _EMU_UGA_IO_H_\r
11\r
12#include <Protocol/SimplePointer.h>\r
13#include <Protocol/SimpleTextIn.h>\r
14#include <Protocol/SimpleTextInEx.h>\r
15#include <Protocol/UgaDraw.h>\r
16\r
17#define EMU_GRAPHICS_WINDOW_PROTOCOL_GUID \\r
18 { 0x30FD316A, 0x6728, 0x2E41, { 0xA6, 0x90, 0x0D, 0x13, 0x33, 0xD8, 0xCA, 0xC1 } }\r
19\r
20typedef struct _EMU_GRAPHICS_WINDOW_PROTOCOL EMU_GRAPHICS_WINDOW_PROTOCOL;\r
21\r
22typedef\r
23EFI_STATUS\r
24(EFIAPI *EMU_GRAPHICS_WINDOWS_CLOSE)(\r
25 EMU_GRAPHICS_WINDOW_PROTOCOL *Uga\r
26 );\r
27\r
28typedef\r
29EFI_STATUS\r
30(EFIAPI *EMU_GRAPHICS_WINDOWS_SIZE)(\r
31 EMU_GRAPHICS_WINDOW_PROTOCOL *Uga,\r
32 UINT32 Width,\r
33 UINT32 Height\r
34 );\r
35\r
36typedef\r
37EFI_STATUS\r
38(EFIAPI *EMU_GRAPHICS_WINDOWS_CHECK_KEY)(\r
39 EMU_GRAPHICS_WINDOW_PROTOCOL *Uga\r
40 );\r
41\r
42typedef\r
43EFI_STATUS\r
44(EFIAPI *EMU_GRAPHICS_WINDOWS_GET_KEY)(\r
45 EMU_GRAPHICS_WINDOW_PROTOCOL *Uga,\r
46 EFI_KEY_DATA *key\r
47 );\r
48\r
49typedef\r
50EFI_STATUS\r
51(EFIAPI *EMU_GRAPHICS_WINDOWS_KEY_SET_STATE) (\r
52 IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows,\r
53 IN EFI_KEY_TOGGLE_STATE *KeyToggleState\r
54 );\r
55\r
56\r
57typedef\r
58VOID\r
59(EFIAPI *EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK) (\r
60 IN VOID *Context,\r
61 IN EFI_KEY_DATA *KeyData\r
62 );\r
63\r
64typedef\r
65EFI_STATUS\r
66(EFIAPI *EMU_GRAPHICS_WINDOWS_REGISTER_KEY_NOTIFY) (\r
67 IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows,\r
68 IN EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK MakeCallBack,\r
69 IN EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK BreakCallBack,\r
70 IN VOID *Context\r
71 );\r
72\r
73\r
74typedef struct {\r
75 UINTN SourceX;\r
76 UINTN SourceY;\r
77 UINTN DestinationX;\r
78 UINTN DestinationY;\r
79 UINTN Width;\r
80 UINTN Height;\r
81 UINTN Delta;\r
82} EMU_GRAPHICS_WINDOWS__BLT_ARGS;\r
83\r
84typedef\r
85EFI_STATUS\r
86(EFIAPI *EMU_GRAPHICS_WINDOWS_BLT)(\r
87 IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows,\r
88 IN EFI_UGA_PIXEL *BltBuffer OPTIONAL,\r
89 IN EFI_UGA_BLT_OPERATION BltOperation,\r
90 IN EMU_GRAPHICS_WINDOWS__BLT_ARGS *Args\r
91 );\r
92\r
93typedef\r
94BOOLEAN\r
95(EFIAPI *EMU_GRAPHICS_WINDOWS_IS_KEY_PRESSED) (\r
96 IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows,\r
97 IN EFI_KEY_DATA *KeyData\r
98 );\r
99\r
100typedef\r
101EFI_STATUS\r
102(EFIAPI *EMU_GRAPHICS_WINDOWS_CHECK_POINTER)(\r
103 EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows\r
104 );\r
105\r
106typedef\r
107EFI_STATUS\r
108(EFIAPI *EMU_GRAPHICS_WINDOWS_GET_POINTER_STATE)(\r
109 EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows,\r
110 EFI_SIMPLE_POINTER_STATE *state\r
111 );\r
112\r
113struct _EMU_GRAPHICS_WINDOW_PROTOCOL {\r
114 EMU_GRAPHICS_WINDOWS_SIZE Size;\r
115 EMU_GRAPHICS_WINDOWS_CHECK_KEY CheckKey;\r
116 EMU_GRAPHICS_WINDOWS_KEY_SET_STATE KeySetState;\r
117 EMU_GRAPHICS_WINDOWS_GET_KEY GetKey;\r
118 EMU_GRAPHICS_WINDOWS_REGISTER_KEY_NOTIFY RegisterKeyNotify;\r
119 EMU_GRAPHICS_WINDOWS_BLT Blt;\r
120 EMU_GRAPHICS_WINDOWS_IS_KEY_PRESSED IsKeyPressed;\r
121 EMU_GRAPHICS_WINDOWS_CHECK_POINTER CheckPointer;\r
122 EMU_GRAPHICS_WINDOWS_GET_POINTER_STATE GetPointerState;\r
123};\r
124\r
125\r
126extern EFI_GUID gEmuGraphicsWindowProtocolGuid;\r
127\r
128#endif\r