/** @file
MACRO definitions for color used in Setup Browser.

Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent

**/
//
// Unicode collation protocol in

#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_BACKGROUND            EFI_BACKGROUND_LIGHTGRAY
#define BANNER_TEXT                    EFI_BLUE
#define BANNER_BACKGROUND              EFI_BACKGROUND_LIGHTGRAY
#define FIELD_TEXT_GRAYED              EFI_DARKGRAY
#define FIELD_BACKGROUND               EFI_BACKGROUND_LIGHTGRAY
#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
