#
# BitBake Graphical GTK User Interface
#
# Copyright (C) 2012        Intel Corporation
#
# Authored by Shane Wang <shane.wang@intel.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

class HobColors:
    WHITE        = "#ffffff"
    PALE_GREEN   = "#aaffaa"
    ORANGE       = "#eb8e68"
    PALE_RED     = "#ffaaaa"
    GRAY         = "#aaaaaa"
    LIGHT_GRAY   = "#dddddd"
    SLIGHT_DARK  = "#5f5f5f"
    DARK         = "#3c3b37"
    BLACK        = "#000000"
    PALE_BLUE    = "#53b8ff"
    DEEP_RED     = "#aa3e3e"
    KHAKI        = "#fff68f"

    OK = WHITE
    RUNNING = PALE_GREEN
    WARNING = ORANGE
    ERROR = PALE_RED
