]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UnixPkg/UnixUgaDxe/UnixUgaScreen.c
Update for NetworkPkg.
[mirror_edk2.git] / UnixPkg / UnixUgaDxe / UnixUgaScreen.c
index d9118aa00f455d1a48ae2cd5108d902fb9a37731..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
@@ -24,9 +24,8 @@ Abstract:
 #include "UnixUga.h"
 
 EFI_UNIX_THUNK_PROTOCOL *mUnix;
-static EFI_EVENT          mUgaScreenExitBootServicesEvent;
+EFI_EVENT          mUgaScreenExitBootServicesEvent;
 
-STATIC
 EFI_STATUS
 UnixUgaStartWindow (
   IN  UGA_PRIVATE_DATA    *Private,
@@ -36,7 +35,6 @@ UnixUgaStartWindow (
   IN  UINT32              RefreshRate
   );
 
-STATIC
 VOID
 EFIAPI
 KillNtUgaThread (
@@ -232,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);
 
@@ -258,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);
 
@@ -308,7 +316,6 @@ Returns:
 }
 
 
-STATIC
 EFI_STATUS
 UnixUgaStartWindow (
   IN  UGA_PRIVATE_DATA    *Private,
@@ -387,6 +394,8 @@ Returns:
 
   UnixUgaInitializeSimpleTextInForWindow (Private);
 
+  UnixUgaInitializeSimplePointerForWindow (Private);
+
   return EFI_SUCCESS;
 }
 
@@ -416,7 +425,6 @@ Returns:
   return EFI_SUCCESS;
 }
 
-STATIC
 VOID
 EFIAPI
 KillNtUgaThread (