00001 // -*- c++ -*- 00002 // 00003 // $Id: colors.h 2359 2009-06-11 15:06:07Z rafi $ 00004 // 00005 // Copyright (C) 2008, 2009 Rafael Ostertag 00006 // 00007 // This file is part of YAPET. 00008 // 00009 // YAPET is free software: you can redistribute it and/or modify it under the 00010 // terms of the GNU General Public License as published by the Free Software 00011 // Foundation, either version 3 of the License, or (at your option) any later 00012 // version. 00013 // 00014 // YAPET is distributed in the hope that it will be useful, but WITHOUT ANY 00015 // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00016 // FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 00017 // details. 00018 // 00019 // You should have received a copy of the GNU General Public License along with 00020 // YAPET. If not, see <http://www.gnu.org/licenses/>. 00021 // 00022 00023 #ifndef _COLORS_H 00024 #define _COLORS_H 00025 00026 #ifdef HAVE_CONFIG_H 00027 # include <config.h> 00028 #endif 00029 00030 #ifdef HAVE_NCURSES_H 00031 # include <ncurses.h> 00032 #else // HAVE_NCURSES_H 00033 # ifdef HAVE_CURSES_H 00034 # include <curses.h> 00035 # else 00036 # error "Neither curses.h nor ncurses.h available" 00037 # endif // HAVE_CURSES_H 00038 #endif // HAVE_NCURSES_H 00039 #include "curswa.h" // Leave this here. It depends on the above includes. 00040 00041 namespace YAPETUI { 00047 enum COLORS { 00051 DEFAULT = 0, 00055 MESSAGEBOX_TITLE, 00059 MESSAGEBOX, 00063 INPUTWIDGET_NOFOCUS, 00067 INPUTWIDGET_FOCUS, 00071 BUTTON_NOFOCUS, 00075 BUTTON_FOCUS, 00079 LISTWIDGET 00080 }; 00081 00089 struct color { 00095 short no; 00101 short fg; 00107 short bg; 00113 int attr; 00114 }; 00115 00121 class Colors { 00122 private: 00129 static bool initialized; 00136 static color colors[]; 00137 public: 00144 static void initColors(); 00152 static void setcolor(WINDOW* w, COLORS c); 00153 static void unsetcolor(WINDOW* w, COLORS c); 00164 static short getcolor(COLORS c); 00165 }; 00166 00167 00168 } 00169 00170 #endif // _COLORS_H