OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
OcBlitLib.h File Reference
#include <Protocol/GraphicsOutput.h>
#include <Library/BaseOverflowLib.h>

Go to the source code of this file.

Data Structures

struct  OC_BLIT_CONFIGURE
 

Macros

#define BYTES_PER_PIXEL   sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL)
 

Typedefs

typedef struct OC_BLIT_CONFIGURE OC_BLIT_CONFIGURE
 

Functions

 STATIC_ASSERT (BYTES_PER_PIXEL==sizeof(UINT32), "Non 4-byte pixels are unsupported!")
 
RETURN_STATUS EFIAPI OcBlitConfigure (IN VOID *FrameBuffer, IN EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *FrameBufferInfo, IN UINT32 Rotation, IN OUT OC_BLIT_CONFIGURE *Configure, IN OUT UINTN *ConfigureSize)
 
RETURN_STATUS EFIAPI OcBlitRender (IN OC_BLIT_CONFIGURE *Configure, IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer OPTIONAL, IN EFI_GRAPHICS_OUTPUT_BLT_OPERATION BltOperation, IN UINTN SourceX, IN UINTN SourceY, IN UINTN DestinationX, IN UINTN DestinationY, IN UINTN Width, IN UINTN Height, IN UINTN Delta)
 

Detailed Description

Library for performing UEFI GOP Blt operations on a framebuffer.

Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
Copyright (c) 2021, vit9696. All rights reserved.

SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file OcBlitLib.h.

Macro Definition Documentation

◆ BYTES_PER_PIXEL

#define BYTES_PER_PIXEL   sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL)

Definition at line 20 of file OcBlitLib.h.

Typedef Documentation

◆ OC_BLIT_CONFIGURE

typedef struct OC_BLIT_CONFIGURE OC_BLIT_CONFIGURE

Function Documentation

◆ OcBlitConfigure()

RETURN_STATUS EFIAPI OcBlitConfigure ( IN VOID * FrameBuffer,
IN EFI_GRAPHICS_OUTPUT_MODE_INFORMATION * FrameBufferInfo,
IN UINT32 Rotation,
IN OUT OC_BLIT_CONFIGURE * Configure,
IN OUT UINTN * ConfigureSize )

Create the configuration for a video frame buffer.

The configuration is returned in the caller provided buffer.

Parameters
[in]FrameBufferPointer to the start of the frame buffer.
[in]FrameBufferInfoDescribes the frame buffer characteristics. The information in FramebufferInfo must refer to unmodified (not rotated) framebuffer.
[in]RotationRotation scheme in degrees (must be one of 0, 90, 180, 270).
[in,out]ConfigureThe created configuration information.
[in,out]ConfigureSizeSize of the configuration information.
Return values
RETURN_SUCCESSThe configuration was successful created.
RETURN_BUFFER_TOO_SMALLThe Configure is to too small. The required size is returned in ConfigureSize.
RETURN_UNSUPPORTEDThe requested mode is not supported by this implementaion.

Definition at line 602 of file OcBlitLib.c.

◆ OcBlitRender()

RETURN_STATUS EFIAPI OcBlitRender ( IN OC_BLIT_CONFIGURE * Configure,
IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer OPTIONAL,
IN EFI_GRAPHICS_OUTPUT_BLT_OPERATION BltOperation,
IN UINTN SourceX,
IN UINTN SourceY,
IN UINTN DestinationX,
IN UINTN DestinationY,
IN UINTN Width,
IN UINTN Height,
IN UINTN Delta )

Performs a UEFI Graphics Output Protocol Blt operation.

Parameters
[in]ConfigurePointer to a configuration which was successfully created by FrameBufferBltConfigure ().
[in,out]BltBufferThe data to transfer to screen.
[in]BltOperationThe operation to perform.
[in]SourceXThe X coordinate of the source for BltOperation.
[in]SourceYThe Y coordinate of the source for BltOperation.
[in]DestinationXThe X coordinate of the destination for BltOperation.
[in]DestinationYThe Y coordinate of the destination for BltOperation.
[in]WidthThe width of a rectangle in the blt rectangle in pixels.
[in]HeightThe height of a rectangle in the blt rectangle in pixels.
[in]DeltaNot used for EfiBltVideoFill and EfiBltVideoToVideo operation. If a Delta of 0 is used, the entire BltBuffer will be operated on. If a subrectangle of the BltBuffer is used, then Delta represents the number of bytes in a row of the BltBuffer.
Return values
RETURN_INVALID_PARAMETERInvalid parameter were passed in.
RETURN_SUCCESSThe Blt operation was performed successfully.

Definition at line 688 of file OcBlitLib.c.

◆ STATIC_ASSERT()

STATIC_ASSERT ( BYTES_PER_PIXEL = =sizeof(UINT32),
"Non 4-byte pixels are unsupported!"  )