]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UnixPkg/UnixUgaDxe/UnixUgaScreen.c
Adding Simple Pointer, GOP, SimpleTextInEx, and Networking protocols to the emulator...
[mirror_edk2.git] / UnixPkg / UnixUgaDxe / UnixUgaScreen.c
index 38bc0233f5fe9577c3686d94c501fbd963246034..470a788a103d61a61280f3dfa3b11ce3a69bd912 100644 (file)
@@ -1,7 +1,7 @@
 /*++
 
-Copyright (c) 2006, Intel Corporation
-All rights reserved. This program and the accompanying materials
+Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
+This program and the accompanying materials
 are licensed and made available under the terms and conditions of the BSD License
 which accompanies this distribution.  The full text of the license may be found at
 http://opensource.org/licenses/bsd-license.php
@@ -230,6 +230,7 @@ UnixUgaBlt (
   UGA_PRIVATE_DATA  *Private;
   EFI_TPL           OriginalTPL;
   EFI_STATUS        Status;
+  UGA_BLT_ARGS      UgaBltArgs;
 
   Private = UGA_DRAW_PRIVATE_DATA_FROM_THIS (This);
 
@@ -256,13 +257,22 @@ UnixUgaBlt (
   //
   OriginalTPL = gBS->RaiseTPL (TPL_NOTIFY);
 
+  //
+  // Pack UGA Draw protocol parameters to UGA_BLT_ARGS structure to adapt to
+  // UgaBlt() API of Unix UGA IO protocol.
+  //
+  UgaBltArgs.DestinationX = DestinationX;
+  UgaBltArgs.DestinationY = DestinationY;
+  UgaBltArgs.Height       = Height;
+  UgaBltArgs.Width        = Width;
+  UgaBltArgs.SourceX      = SourceX;
+  UgaBltArgs.SourceY      = SourceY;
+  UgaBltArgs.Delta        = Delta;
   Status = Private->UgaIo->UgaBlt (Private->UgaIo,
              BltBuffer,
              BltOperation,
-             SourceX, SourceY,
-             DestinationX, DestinationY,
-             Width, Height,
-             Delta);
+             &UgaBltArgs
+             );
 
   gBS->RestoreTPL (OriginalTPL);
 
@@ -384,6 +394,8 @@ Returns:
 
   UnixUgaInitializeSimpleTextInForWindow (Private);
 
+  UnixUgaInitializeSimplePointerForWindow (Private);
+
   return EFI_SUCCESS;
 }