3 Copyright (c) 2006, Tristan Gingold. All rights reserved.<BR>
4 Portitions copyright (c) 2010 - 2011, Apple Inc. All rights reserved.
5 SPDX-License-Identifier: BSD-2-Clause-Patent
10 #define _EMU_UGA_IO_H_
12 #include <Protocol/SimplePointer.h>
13 #include <Protocol/SimpleTextIn.h>
14 #include <Protocol/SimpleTextInEx.h>
15 #include <Protocol/UgaDraw.h>
17 #define EMU_GRAPHICS_WINDOW_PROTOCOL_GUID \
18 { 0x30FD316A, 0x6728, 0x2E41, { 0xA6, 0x90, 0x0D, 0x13, 0x33, 0xD8, 0xCA, 0xC1 } }
20 typedef struct _EMU_GRAPHICS_WINDOW_PROTOCOL EMU_GRAPHICS_WINDOW_PROTOCOL
;
24 (EFIAPI
*EMU_GRAPHICS_WINDOWS_CLOSE
)(
25 EMU_GRAPHICS_WINDOW_PROTOCOL
*Uga
30 (EFIAPI
*EMU_GRAPHICS_WINDOWS_SIZE
)(
31 EMU_GRAPHICS_WINDOW_PROTOCOL
*Uga
,
38 (EFIAPI
*EMU_GRAPHICS_WINDOWS_CHECK_KEY
)(
39 EMU_GRAPHICS_WINDOW_PROTOCOL
*Uga
44 (EFIAPI
*EMU_GRAPHICS_WINDOWS_GET_KEY
)(
45 EMU_GRAPHICS_WINDOW_PROTOCOL
*Uga
,
51 (EFIAPI
*EMU_GRAPHICS_WINDOWS_KEY_SET_STATE
) (
52 IN EMU_GRAPHICS_WINDOW_PROTOCOL
*GraphicsWindows
,
53 IN EFI_KEY_TOGGLE_STATE
*KeyToggleState
59 (EFIAPI
*EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK
) (
61 IN EFI_KEY_DATA
*KeyData
66 (EFIAPI
*EMU_GRAPHICS_WINDOWS_REGISTER_KEY_NOTIFY
) (
67 IN EMU_GRAPHICS_WINDOW_PROTOCOL
*GraphicsWindows
,
68 IN EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK MakeCallBack
,
69 IN EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK BreakCallBack
,
82 } EMU_GRAPHICS_WINDOWS__BLT_ARGS
;
86 (EFIAPI
*EMU_GRAPHICS_WINDOWS_BLT
)(
87 IN EMU_GRAPHICS_WINDOW_PROTOCOL
*GraphicsWindows
,
88 IN EFI_UGA_PIXEL
*BltBuffer OPTIONAL
,
89 IN EFI_UGA_BLT_OPERATION BltOperation
,
90 IN EMU_GRAPHICS_WINDOWS__BLT_ARGS
*Args
95 (EFIAPI
*EMU_GRAPHICS_WINDOWS_IS_KEY_PRESSED
) (
96 IN EMU_GRAPHICS_WINDOW_PROTOCOL
*GraphicsWindows
,
97 IN EFI_KEY_DATA
*KeyData
102 (EFIAPI
*EMU_GRAPHICS_WINDOWS_CHECK_POINTER
)(
103 EMU_GRAPHICS_WINDOW_PROTOCOL
*GraphicsWindows
108 (EFIAPI
*EMU_GRAPHICS_WINDOWS_GET_POINTER_STATE
)(
109 EMU_GRAPHICS_WINDOW_PROTOCOL
*GraphicsWindows
,
110 EFI_SIMPLE_POINTER_STATE
*state
113 struct _EMU_GRAPHICS_WINDOW_PROTOCOL
{
114 EMU_GRAPHICS_WINDOWS_SIZE Size
;
115 EMU_GRAPHICS_WINDOWS_CHECK_KEY CheckKey
;
116 EMU_GRAPHICS_WINDOWS_KEY_SET_STATE KeySetState
;
117 EMU_GRAPHICS_WINDOWS_GET_KEY GetKey
;
118 EMU_GRAPHICS_WINDOWS_REGISTER_KEY_NOTIFY RegisterKeyNotify
;
119 EMU_GRAPHICS_WINDOWS_BLT Blt
;
120 EMU_GRAPHICS_WINDOWS_IS_KEY_PRESSED IsKeyPressed
;
121 EMU_GRAPHICS_WINDOWS_CHECK_POINTER CheckPointer
;
122 EMU_GRAPHICS_WINDOWS_GET_POINTER_STATE GetPointerState
;
126 extern EFI_GUID gEmuGraphicsWindowProtocolGuid
;