#ifndef _WIN_GOP_H_\r
#define _WIN_GOP_H_\r
\r
-\r
#include "WinHost.h"\r
\r
#include <Protocol/EmuIoThunk.h>\r
// The value is 1 if the ALT key is down while the key is pressed/released;\r
// it is 0 if the WM_SYSKEYDOWN message is posted to the active window\r
// because no window has the keyboard focus.\r
-#define GOP_EXTENDED_KEY (0x1 << 24)\r
-#define GOP_ALT_KEY_PRESSED (0x1 << 29)\r
+#define GOP_EXTENDED_KEY (0x1 << 24)\r
+#define GOP_ALT_KEY_PRESSED (0x1 << 29)\r
\r
-#define KEYBOARD_TIMER_INTERVAL 200000 // 0.02s\r
+#define KEYBOARD_TIMER_INTERVAL 200000 // 0.02s\r
\r
-#define MAX_Q 256\r
+#define MAX_Q 256\r
\r
typedef struct {\r
- UINTN Front;\r
- UINTN Rear;\r
- EFI_KEY_DATA Q[MAX_Q];\r
- CRITICAL_SECTION Cs;\r
+ UINTN Front;\r
+ UINTN Rear;\r
+ EFI_KEY_DATA Q[MAX_Q];\r
+ CRITICAL_SECTION Cs;\r
} GOP_QUEUE_FIXED;\r
\r
-#define WIN_NT_GOP_CLASS_NAME L"WinNtGopWindow"\r
-\r
+#define WIN_NT_GOP_CLASS_NAME L"WinNtGopWindow"\r
\r
typedef struct {\r
- UINT64 Signature;\r
- EMU_GRAPHICS_WINDOW_PROTOCOL GraphicsWindowIo;\r
+ UINT64 Signature;\r
+ EMU_GRAPHICS_WINDOW_PROTOCOL GraphicsWindowIo;\r
\r
//\r
// GOP Private Data knowing when to start hardware\r
//\r
- BOOLEAN HardwareNeedsStarting;\r
+ BOOLEAN HardwareNeedsStarting;\r
\r
- CHAR16 *WindowName;\r
- CHAR16 Buffer[160];\r
+ CHAR16 *WindowName;\r
+ CHAR16 Buffer[160];\r
\r
- HANDLE ThreadInited; // Semaphore\r
- HANDLE ThreadHandle; // Thread\r
- DWORD ThreadId;\r
+ HANDLE ThreadInited; // Semaphore\r
+ HANDLE ThreadHandle; // Thread\r
+ DWORD ThreadId;\r
\r
- HWND WindowHandle;\r
- WNDCLASSEX WindowsClass;\r
+ HWND WindowHandle;\r
+ WNDCLASSEX WindowsClass;\r
\r
- UINT32 Width;\r
- UINT32 Height;\r
+ UINT32 Width;\r
+ UINT32 Height;\r
//\r
// This screen is used to redraw the screen when windows events happen. It's\r
// updated in the main thread and displayed in the windows thread.\r
//\r
- BITMAPV4HEADER *VirtualScreenInfo;\r
+ BITMAPV4HEADER *VirtualScreenInfo;\r
\r
- FRAME_BUFFER_CONFIGURE *FrameBufferConfigure;\r
+ FRAME_BUFFER_CONFIGURE *FrameBufferConfigure;\r
\r
//\r
// Keyboard Queue used by Simple Text In.\r
// QueueForRead: WinProc thread adds, and main thread removes.\r
//\r
- GOP_QUEUE_FIXED QueueForRead;\r
+ GOP_QUEUE_FIXED QueueForRead;\r
\r
EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK MakeRegisterdKeyCallback;\r
EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK BreakRegisterdKeyCallback;\r
VOID *RegisterdKeyCallbackContext;\r
\r
- EFI_KEY_STATE KeyState;\r
- BOOLEAN LeftShift;\r
- BOOLEAN RightShift;\r
- BOOLEAN LeftAlt;\r
- BOOLEAN RightAlt;\r
- BOOLEAN LeftCtrl;\r
- BOOLEAN RightCtrl;\r
- BOOLEAN LeftLogo;\r
- BOOLEAN RightLogo;\r
- BOOLEAN Menu;\r
- BOOLEAN SysReq;\r
- BOOLEAN NumLock;\r
- BOOLEAN ScrollLock;\r
- BOOLEAN CapsLock;\r
- BOOLEAN IsPartialKeySupport;\r
- INT32 PointerPreviousX;\r
- INT32 PointerPreviousY;\r
- BOOLEAN PointerStateChanged;\r
- EFI_SIMPLE_POINTER_STATE PointerState;\r
+ EFI_KEY_STATE KeyState;\r
+ BOOLEAN LeftShift;\r
+ BOOLEAN RightShift;\r
+ BOOLEAN LeftAlt;\r
+ BOOLEAN RightAlt;\r
+ BOOLEAN LeftCtrl;\r
+ BOOLEAN RightCtrl;\r
+ BOOLEAN LeftLogo;\r
+ BOOLEAN RightLogo;\r
+ BOOLEAN Menu;\r
+ BOOLEAN SysReq;\r
+ BOOLEAN NumLock;\r
+ BOOLEAN ScrollLock;\r
+ BOOLEAN CapsLock;\r
+ BOOLEAN IsPartialKeySupport;\r
+ INT32 PointerPreviousX;\r
+ INT32 PointerPreviousY;\r
+ BOOLEAN PointerStateChanged;\r
+ EFI_SIMPLE_POINTER_STATE PointerState;\r
} GRAPHICS_PRIVATE_DATA;\r
#define GRAPHICS_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('g', 'f', 'x', 'd')\r
#define GRAPHICS_PRIVATE_DATA_FROM_THIS(a) \\r
CR(a, GRAPHICS_PRIVATE_DATA, GraphicsWindowIo, GRAPHICS_PRIVATE_DATA_SIGNATURE)\r
\r
-\r
//\r
// Gop Hardware abstraction internal worker functions\r
//\r
**/\r
EFI_STATUS\r
GopPrivateAddKey (\r
- IN GRAPHICS_PRIVATE_DATA *Private,\r
- IN EFI_INPUT_KEY Key\r
+ IN GRAPHICS_PRIVATE_DATA *Private,\r
+ IN EFI_INPUT_KEY Key\r
);\r
\r
EFI_STATUS\r
EFI_STATUS\r
EFIAPI\r
WinNtWndCheckKey (\r
- IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo\r
+ IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo\r
);\r
\r
EFI_STATUS\r
EFIAPI\r
WinNtWndKeySetState (\r
- IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo,\r
- IN EFI_KEY_TOGGLE_STATE *KeyToggleState\r
+ IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo,\r
+ IN EFI_KEY_TOGGLE_STATE *KeyToggleState\r
);\r
\r
EFI_STATUS\r
EFIAPI\r
WinNtWndRegisterKeyNotify (\r
- IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo,\r
- IN EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK MakeCallBack,\r
- IN EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK BreakCallBack,\r
- IN VOID *Context\r
+ IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo,\r
+ IN EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK MakeCallBack,\r
+ IN EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK BreakCallBack,\r
+ IN VOID *Context\r
);\r
\r
EFI_STATUS\r
EFIAPI\r
WinNtWndCheckPointer (\r
- IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo\r
+ IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo\r
);\r
\r
EFI_STATUS\r
IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo,\r
IN EFI_SIMPLE_POINTER_STATE *State\r
);\r
+\r
EFI_STATUS\r
GopPrivateCreateQ (\r
- IN GRAPHICS_PRIVATE_DATA *Private,\r
- IN GOP_QUEUE_FIXED *Queue\r
+ IN GRAPHICS_PRIVATE_DATA *Private,\r
+ IN GOP_QUEUE_FIXED *Queue\r
);\r
\r
-\r
/**\r
TODO: Add function description\r
\r
**/\r
EFI_STATUS\r
GopPrivateDestroyQ (\r
- IN GRAPHICS_PRIVATE_DATA *Private,\r
- IN GOP_QUEUE_FIXED *Queue\r
+ IN GRAPHICS_PRIVATE_DATA *Private,\r
+ IN GOP_QUEUE_FIXED *Queue\r
);\r
-#endif\r
\r
+#endif\r