TianoCore EDK2 master
Loading...
Searching...
No Matches
WinGopScreen.c File Reference
#include "WinGop.h"

Go to the source code of this file.

Functions

BOOLEAN WinNtGopConvertParamToEfiKeyShiftState (IN GRAPHICS_PRIVATE_DATA *Private, IN WPARAM *wParam, IN LPARAM *lParam, IN BOOLEAN Flag)
 
BOOLEAN WinNtGopConvertParamToEfiKey (IN GRAPHICS_PRIVATE_DATA *Private, IN WPARAM *wParam, IN LPARAM *lParam, IN EFI_INPUT_KEY *Key)
 
EFI_STATUS EFIAPI WinNtWndSize (IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo, IN UINT32 Width, IN UINT32 Height)
 
EFI_STATUS WinNtWndBlt (IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo, IN EFI_UGA_PIXEL *BltBuffer OPTIONAL, IN EFI_UGA_BLT_OPERATION BltOperation, IN EMU_GRAPHICS_WINDOWS__BLT_ARGS *Args)
 
LRESULT CALLBACK WinNtGopThreadWindowProc (IN HWND hwnd, IN UINT iMsg, IN WPARAM wParam, IN LPARAM lParam)
 
DWORD WINAPI WinNtGopThreadWinMain (LPVOID lpParameter)
 
EFI_STATUS EFIAPI WinNtGraphicsWindowOpen (IN EMU_IO_THUNK_PROTOCOL *This)
 
EFI_STATUS EFIAPI WinNtGraphicsWindowClose (IN EMU_IO_THUNK_PROTOCOL *This)
 

Variables

DWORD mTlsIndex = TLS_OUT_OF_INDEXES
 
DWORD mTlsIndexUseCount = 0
 
EMU_IO_THUNK_PROTOCOL mWinNtWndThunkIo
 

Detailed Description

Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Module Name:

WinGopScreen.c

Abstract:

This file produces the graphics abstration of GOP. It is called by WinNtGopDriver.c file which deals with the UEFI 2.0 driver model. This file just does graphics.

Definition in file WinGopScreen.c.

Function Documentation

◆ WinNtGopConvertParamToEfiKey()

BOOLEAN WinNtGopConvertParamToEfiKey ( IN GRAPHICS_PRIVATE_DATA Private,
IN WPARAM *  wParam,
IN LPARAM *  lParam,
IN EFI_INPUT_KEY Key 
)

Definition at line 109 of file WinGopScreen.c.

◆ WinNtGopConvertParamToEfiKeyShiftState()

BOOLEAN WinNtGopConvertParamToEfiKeyShiftState ( IN GRAPHICS_PRIVATE_DATA Private,
IN WPARAM *  wParam,
IN LPARAM *  lParam,
IN BOOLEAN  Flag 
)

Definition at line 25 of file WinGopScreen.c.

◆ WinNtGopThreadWindowProc()

LRESULT CALLBACK WinNtGopThreadWindowProc ( IN HWND  hwnd,
IN UINT  iMsg,
IN WPARAM  wParam,
IN LPARAM  lParam 
)

Win32 Windows event handler.

See Win32 Book

Returns
See Win32 Book

Definition at line 465 of file WinGopScreen.c.

◆ WinNtGopThreadWinMain()

DWORD WINAPI WinNtGopThreadWinMain ( LPVOID  lpParameter)

This thread simulates the end of WinMain () application. Each Window needs to process its events. The messages are dispatched to WinNtGopThreadWindowProc (). Be very careful since WinNtGopThreadWinMain () and WinNtGopThreadWindowProc () are running in a separate thread. We have to do this to process the events.

Parameters
lpParameterHandle of window to manage.
Returns
if a WM_QUIT message is returned exit.

Definition at line 690 of file WinGopScreen.c.

◆ WinNtGraphicsWindowClose()

EFI_STATUS EFIAPI WinNtGraphicsWindowClose ( IN EMU_IO_THUNK_PROTOCOL This)

Definition at line 861 of file WinGopScreen.c.

◆ WinNtGraphicsWindowOpen()

EFI_STATUS EFIAPI WinNtGraphicsWindowOpen ( IN EMU_IO_THUNK_PROTOCOL This)

TODO: Add function description

Parameters
PrivateTODO: add argument description
HorizontalResolutionTODO: add argument description
VerticalResolutionTODO: add argument description
ColorDepthTODO: add argument description
RefreshRateTODO: add argument description
Returns
TODO: add return values

Definition at line 800 of file WinGopScreen.c.

◆ WinNtWndBlt()

EFI_STATUS WinNtWndBlt ( IN EMU_GRAPHICS_WINDOW_PROTOCOL GraphicsIo,
IN EFI_UGA_PIXEL *BltBuffer  OPTIONAL,
IN EFI_UGA_BLT_OPERATION  BltOperation,
IN EMU_GRAPHICS_WINDOWS__BLT_ARGS Args 
)

Blt pixels from the rectangle (Width X Height) formed by the BltBuffer onto the graphics screen starting a location (X, Y). (0, 0) is defined as the upper left hand side of the screen. (X, Y) can be outside of the current screen geometry and the BltBuffer will be cliped when it is displayed. X and Y can be negative or positive. If Width or Height is bigger than the current video screen the image will be clipped.

Parameters
ThisProtocol instance pointer.
XX location on graphics screen.
YY location on the graphics screen.
WidthWidth of BltBuffer.
HeightHeight of BltBuffer
BltOperationOperation to perform on BltBuffer and video memory
BltBufferBuffer containing data to blt into video buffer. This buffer has a size of Width*Height*sizeof(EFI_GRAPHICS_OUTPUT_BLT_PIXEL)
SourceXIf the BltOperation is a EfiCopyBlt this is the source of the copy. For other BLT operations this argument is not used.
SourceXIf the BltOperation is a EfiCopyBlt this is the source of the copy. For other BLT operations this argument is not used.
Return values
EFI_SUCCESSThe palette is updated with PaletteArray.
EFI_INVALID_PARAMETERBltOperation is not valid.
EFI_DEVICE_ERRORA hardware error occurred writing to the video buffer.

Definition at line 398 of file WinGopScreen.c.

◆ WinNtWndSize()

EFI_STATUS EFIAPI WinNtWndSize ( IN EMU_GRAPHICS_WINDOW_PROTOCOL GraphicsIo,
IN UINT32  Width,
IN UINT32  Height 
)

Change the resolution and resize of the window

Definition at line 257 of file WinGopScreen.c.

Variable Documentation

◆ mTlsIndex

DWORD mTlsIndex = TLS_OUT_OF_INDEXES

Definition at line 21 of file WinGopScreen.c.

◆ mTlsIndexUseCount

DWORD mTlsIndexUseCount = 0

Definition at line 22 of file WinGopScreen.c.

◆ mWinNtWndThunkIo

EMU_IO_THUNK_PROTOCOL mWinNtWndThunkIo
Initial value:
= {
&gEmuGraphicsWindowProtocolGuid,
0,
WinNtGraphicsWindowClose,
}
#define NULL
Definition: Base.h:319
EFI_STATUS EFIAPI WinNtGraphicsWindowOpen(IN EMU_IO_THUNK_PROTOCOL *This)
Definition: WinGopScreen.c:800

Definition at line 897 of file WinGopScreen.c.