]> git.proxmox.com Git - mirror_edk2.git/blame - EmulatorPkg/Include/Protocol/EmuGraphicsWindow.h
EmulatorPkg: Remove all trailing whitespace
[mirror_edk2.git] / EmulatorPkg / Include / Protocol / EmuGraphicsWindow.h
CommitLineData
949f388f 1/*++ @file
2
3Copyright (c) 2006, Tristan Gingold. All rights reserved.<BR>
4Portitions copyright (c) 2010 - 2011, Apple Inc. All rights reserved.
5This program and the accompanying materials
6are licensed and made available under the terms and conditions of the
7BSD License which accompanies this distribution. The full text of the
8license may be found at http://opensource.org/licenses/bsd-license.php
9
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13**/
14
15#ifndef _EMU_UGA_IO_H_
16#define _EMU_UGA_IO_H_
17
18#include <Protocol/SimplePointer.h>
19#include <Protocol/SimpleTextIn.h>
20#include <Protocol/SimpleTextInEx.h>
21#include <Protocol/UgaDraw.h>
22
23#define EMU_GRAPHICS_WINDOW_PROTOCOL_GUID \
24 { 0x30FD316A, 0x6728, 0x2E41, { 0xA6, 0x90, 0x0D, 0x13, 0x33, 0xD8, 0xCA, 0xC1 } }
25
26typedef struct _EMU_GRAPHICS_WINDOW_PROTOCOL EMU_GRAPHICS_WINDOW_PROTOCOL;
27
28typedef
29EFI_STATUS
30(EFIAPI *EMU_GRAPHICS_WINDOWS_CLOSE)(
31 EMU_GRAPHICS_WINDOW_PROTOCOL *Uga
32 );
33
34typedef
35EFI_STATUS
36(EFIAPI *EMU_GRAPHICS_WINDOWS_SIZE)(
d18d8a1d 37 EMU_GRAPHICS_WINDOW_PROTOCOL *Uga,
38 UINT32 Width,
949f388f 39 UINT32 Height
40 );
41
42typedef
43EFI_STATUS
44(EFIAPI *EMU_GRAPHICS_WINDOWS_CHECK_KEY)(
45 EMU_GRAPHICS_WINDOW_PROTOCOL *Uga
46 );
47
48typedef
49EFI_STATUS
50(EFIAPI *EMU_GRAPHICS_WINDOWS_GET_KEY)(
d18d8a1d 51 EMU_GRAPHICS_WINDOW_PROTOCOL *Uga,
949f388f 52 EFI_KEY_DATA *key
53 );
54
55typedef
56EFI_STATUS
57(EFIAPI *EMU_GRAPHICS_WINDOWS_KEY_SET_STATE) (
d18d8a1d 58 IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows,
949f388f 59 IN EFI_KEY_TOGGLE_STATE *KeyToggleState
60 );
61
62
d18d8a1d 63typedef
949f388f 64VOID
65(EFIAPI *EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK) (
66 IN VOID *Context,
67 IN EFI_KEY_DATA *KeyData
68 );
69
70typedef
71EFI_STATUS
72(EFIAPI *EMU_GRAPHICS_WINDOWS_REGISTER_KEY_NOTIFY) (
d18d8a1d 73 IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows,
949f388f 74 IN EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK MakeCallBack,
75 IN EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK BreakCallBack,
76 IN VOID *Context
77 );
78
79
80typedef struct {
81 UINTN SourceX;
82 UINTN SourceY;
83 UINTN DestinationX;
84 UINTN DestinationY;
85 UINTN Width;
86 UINTN Height;
87 UINTN Delta;
88} EMU_GRAPHICS_WINDOWS__BLT_ARGS;
89
90typedef
91EFI_STATUS
92(EFIAPI *EMU_GRAPHICS_WINDOWS_BLT)(
93 IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows,
94 IN EFI_UGA_PIXEL *BltBuffer OPTIONAL,
95 IN EFI_UGA_BLT_OPERATION BltOperation,
96 IN EMU_GRAPHICS_WINDOWS__BLT_ARGS *Args
97 );
98
99typedef
100BOOLEAN
d18d8a1d 101(EFIAPI *EMU_GRAPHICS_WINDOWS_IS_KEY_PRESSED) (
102 IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows,
949f388f 103 IN EFI_KEY_DATA *KeyData
104 );
105
106typedef
107EFI_STATUS
108(EFIAPI *EMU_GRAPHICS_WINDOWS_CHECK_POINTER)(
109 EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows
110 );
111
112typedef
113EFI_STATUS
114(EFIAPI *EMU_GRAPHICS_WINDOWS_GET_POINTER_STATE)(
115 EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows,
116 EFI_SIMPLE_POINTER_STATE *state
117 );
118
119struct _EMU_GRAPHICS_WINDOW_PROTOCOL {
120 EMU_GRAPHICS_WINDOWS_SIZE Size;
121 EMU_GRAPHICS_WINDOWS_CHECK_KEY CheckKey;
122 EMU_GRAPHICS_WINDOWS_KEY_SET_STATE KeySetState;
123 EMU_GRAPHICS_WINDOWS_GET_KEY GetKey;
124 EMU_GRAPHICS_WINDOWS_REGISTER_KEY_NOTIFY RegisterKeyNotify;
125 EMU_GRAPHICS_WINDOWS_BLT Blt;
126 EMU_GRAPHICS_WINDOWS_IS_KEY_PRESSED IsKeyPressed;
127 EMU_GRAPHICS_WINDOWS_CHECK_POINTER CheckPointer;
128 EMU_GRAPHICS_WINDOWS_GET_POINTER_STATE GetPointerState;
129};
130
131
132extern EFI_GUID gEmuGraphicsWindowProtocolGuid;
133
134#endif