UINTN i;
EG_PIXEL FillColor;
EG_PIXEL *PixelPtr;
-
+
FillColor = *Color;
if (!CompImage->HasAlpha)
FillColor.a = 0;
-
+
PixelPtr = CompImage->PixelData;
for (i = 0; i < CompImage->Width * CompImage->Height; i++, PixelPtr++)
*PixelPtr = FillColor;
EG_PIXEL FillColor;
EG_PIXEL *PixelPtr;
EG_PIXEL *PixelBasePtr;
-
+
egRestrictImageArea(CompImage, AreaPosX, AreaPosY, &AreaWidth, &AreaHeight);
-
+
if (AreaWidth > 0) {
FillColor = *Color;
if (!CompImage->HasAlpha)
FillColor.a = 0;
-
+
PixelBasePtr = CompImage->PixelData + AreaPosY * CompImage->Width + AreaPosX;
for (y = 0; y < AreaHeight; y++) {
PixelPtr = PixelBasePtr;
VOID egComposeImage(IN OUT EG_IMAGE *CompImage, IN EG_IMAGE *TopImage, IN UINTN PosX, IN UINTN PosY)
{
UINTN CompWidth, CompHeight;
-
+
CompWidth = TopImage->Width;
CompHeight = TopImage->Height;
egRestrictImageArea(CompImage, PosX, PosY, &CompWidth, &CompHeight);
-
+
// compose
if (CompWidth > 0) {
if (CompImage->HasAlpha) {
CompImage->HasAlpha = FALSE;
egSetPlane(PLPTR(CompImage, a), 0, CompImage->Width * CompImage->Height);
}
-
+
if (TopImage->HasAlpha)
egRawCompose(CompImage->PixelData + PosY * CompImage->Width + PosX, TopImage->PixelData,
CompWidth, CompHeight, CompImage->Width, TopImage->Width);
return NULL;
if (Image->Width == Width && Image->Height == Height)
return Image;
-
+
NewImage = egCreateFilledImage(Width, Height, Image->HasAlpha, Color);
if (NewImage == NULL) {
egFreeImage(Image);
}
egComposeImage(NewImage, Image, 0, 0);
egFreeImage(Image);
-
+
return NewImage;
}
VOID egInsertPlane(IN UINT8 *SrcDataPtr, IN UINT8 *DestPlanePtr, IN UINTN PixelCount)
{
UINTN i;
-
+
for (i = 0; i < PixelCount; i++) {
*DestPlanePtr = *SrcDataPtr++;
DestPlanePtr += 4;
VOID egSetPlane(IN UINT8 *DestPlanePtr, IN UINT8 Value, IN UINTN PixelCount)
{
UINTN i;
-
+
for (i = 0; i < PixelCount; i++) {
*DestPlanePtr = Value;
DestPlanePtr += 4;
VOID egCopyPlane(IN UINT8 *SrcPlanePtr, IN UINT8 *DestPlanePtr, IN UINTN PixelCount)
{
UINTN i;
-
+
for (i = 0; i < PixelCount; i++) {
*DestPlanePtr = *SrcPlanePtr;
DestPlanePtr += 4, SrcPlanePtr += 4;
}
if (GraphicsOutput != NULL) {
- refit_call10_wrapper(GraphicsOutput->Blt, GraphicsOutput, (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *)Image->PixelData, EfiBltBufferToVideo,
- 0, 0, ScreenPosX, ScreenPosY, Image->Width, Image->Height, 0);
+ refit_call10_wrapper(GraphicsOutput->Blt, GraphicsOutput, (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *)Image->PixelData,
+ EfiBltBufferToVideo, 0, 0, ScreenPosX, ScreenPosY, Image->Width, Image->Height, 0);
} else if (UgaDraw != NULL) {
refit_call10_wrapper(UgaDraw->Blt, UgaDraw, (EFI_UGA_PIXEL *)Image->PixelData, EfiUgaBltBufferToVideo,
0, 0, ScreenPosX, ScreenPosY, Image->Width, Image->Height, 0);