From 45e788abaf9010efacee53733b449b19a43cd02c Mon Sep 17 00:00:00 2001 From: Joursoir Date: Sun, 27 Mar 2022 10:20:44 +0300 Subject: main: add draw pixel routine --- UefiMonitorTest/UefiMonitorTest.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/UefiMonitorTest/UefiMonitorTest.c b/UefiMonitorTest/UefiMonitorTest.c index f84c00a..763a263 100644 --- a/UefiMonitorTest/UefiMonitorTest.c +++ b/UefiMonitorTest/UefiMonitorTest.c @@ -180,6 +180,33 @@ GetGraphicsOutputProtocol ( return Gop; } +STATIC +VOID +PutPixel ( + IN GRAPHICS_CONTEXT *Graphics, + IN UINTN X, + IN UINTN Y, + GRAPHICS_PIXEL_COLOR *Color + ) +{ + UINT32 *Buffer; + UINT32 Ucolor; + + ASSERT (X >= 0 && X <= Graphics->Width); + ASSERT (Y >= 0 && Y <= Graphics->Height); + + Buffer = (UINT32 *)(Graphics->BackBuffer + (X * Graphics->PixelWidth) + (Y * Graphics->Pitch)); + Ucolor = *(UINT32 *)Color; + *Buffer = (UINT32)( + (((Ucolor << Graphics->PixelShl[0]) >> Graphics->PixelShr[0]) & + Graphics->PixelMasks.RedMask) | + (((Ucolor << Graphics->PixelShl[1]) >> Graphics->PixelShr[1]) & + Graphics->PixelMasks.GreenMask) | + (((Ucolor << Graphics->PixelShl[2]) >> Graphics->PixelShr[2]) & + Graphics->PixelMasks.BlueMask) + ); +} + EFI_STATUS EFIAPI UefiMain ( -- cgit v1.2.3-18-g5258