diff options
author | Joursoir <chat@joursoir.net> | 2022-03-27 10:20:44 +0300 |
---|---|---|
committer | Joursoir <chat@joursoir.net> | 2022-03-27 10:20:44 +0300 |
commit | 45e788abaf9010efacee53733b449b19a43cd02c (patch) | |
tree | fc5949adb1a0200cce98ed59e4f9a1eeea4b732e /UefiMonitorTest/UefiMonitorTest.c | |
parent | 3a21582ba3d4c4eac6401114484c0a8ae3bc5c16 (diff) | |
download | umt-45e788abaf9010efacee53733b449b19a43cd02c.tar.gz umt-45e788abaf9010efacee53733b449b19a43cd02c.tar.bz2 umt-45e788abaf9010efacee53733b449b19a43cd02c.zip |
main: add draw pixel routine
Diffstat (limited to 'UefiMonitorTest/UefiMonitorTest.c')
-rw-r--r-- | UefiMonitorTest/UefiMonitorTest.c | 27 |
1 files changed, 27 insertions, 0 deletions
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 ( |