## @file
# Customize display library used by display engine.
#
#  Copyright (c) 2013 - 2014, 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
#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
#

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = CustomizedDisplayLib
  MODULE_UNI_FILE                = CustomizedDisplayLibModStrs.uni
  FILE_GUID                      = 80B92017-EC64-4923-938D-94FAEE85832E
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = CustomizedDisplayLib|DXE_DRIVER UEFI_APPLICATION
  CONSTRUCTOR                    = CustomizedDisplayLibConstructor
  DESTRUCTOR                     = CustomizedDisplayLibDestructor
#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
#

[Sources]
  CustomizedDisplayLib.c
  Colors.h
  CustomizedDisplayLibInternal.h
  CustomizedDisplayLibInternal.c
  CustomizedDisplayLib.uni
  
[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec

[LibraryClasses]
  MemoryAllocationLib
  BaseLib
  UefiBootServicesTableLib
  UefiDriverEntryPoint
  UefiRuntimeServicesTableLib
  BaseMemoryLib
  DebugLib
  PrintLib
  HiiLib
  DevicePathLib
  PcdLib

[Guids]
  gEfiIfrTianoGuid  ## SOMETIMES_CONSUMES   ## UNDEFINED
  
[Protocols]

[Pcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdBrowserSubtitleTextColor               ## CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdBrowserFieldTextColor                  ## CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdBrowserFieldTextHighlightColor         ## CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdBrowserFieldBackgroundHighlightColor   ## CONSUMES