/*++

Copyright (c) 2006, Intel Corporation                                                         
All rights reserved. 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.             

Module Name:

  Colors.h

Abstract:


Revision History

--*/

#ifndef _COLORS_H
#define _COLORS_H

//
// Screen Color Settings
//
#define PICKLIST_HIGHLIGHT_TEXT       EFI_WHITE
#define PICKLIST_HIGHLIGHT_BACKGROUND EFI_BACKGROUND_CYAN
#define TITLE_TEXT                    EFI_WHITE
#define TITLE_BACKGROUND              EFI_BACKGROUND_BLUE
#define KEYHELP_TEXT                  EFI_LIGHTGRAY
#define KEYHELP_BACKGROUND            EFI_BACKGROUND_BLACK
#define SUBTITLE_TEXT                 EFI_BLUE
#define SUBTITLE_BACKGROUND           EFI_BACKGROUND_LIGHTGRAY
#define BANNER_TEXT                   EFI_BLUE
#define BANNER_BACKGROUND             EFI_BACKGROUND_LIGHTGRAY
#define FIELD_TEXT                    EFI_BLACK
#define FIELD_TEXT_GRAYED             EFI_DARKGRAY
#define FIELD_BACKGROUND              EFI_BACKGROUND_LIGHTGRAY
#define FIELD_TEXT_HIGHLIGHT          EFI_LIGHTGRAY
#define FIELD_BACKGROUND_HIGHLIGHT    EFI_BACKGROUND_BLACK
#define POPUP_TEXT                    EFI_LIGHTGRAY
#define POPUP_BACKGROUND              EFI_BACKGROUND_BLUE
#define POPUP_INVERSE_TEXT            EFI_LIGHTGRAY
#define POPUP_INVERSE_BACKGROUND      EFI_BACKGROUND_BLACK
#define HELP_TEXT                     EFI_BLUE
#define ERROR_TEXT                    EFI_RED | EFI_BRIGHT
#define INFO_TEXT                     EFI_YELLOW | EFI_BRIGHT
#define ARROW_TEXT                    EFI_RED | EFI_BRIGHT
#define ARROW_BACKGROUND              EFI_BACKGROUND_LIGHTGRAY

#endif
