X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=c%2B%2B%2Fcursesw.cc;fp=c%2B%2B%2Fcursesw.cc;h=8a42c39bc48d119300a23ae6364bf851c6e9edfe;hp=acf9ce94b0ae47a3bc3c7ac37d1499b2eeaab06f;hb=82a087c4c47679fcfa59bb6d7bdbe587355ba3f6;hpb=b6d7123594f6959ad0a6602b3952d9e6abe261a0 diff --git a/c++/cursesw.cc b/c++/cursesw.cc index acf9ce94..8a42c39b 100644 --- a/c++/cursesw.cc +++ b/c++/cursesw.cc @@ -42,7 +42,7 @@ #include "internal.h" #include "cursesw.h" -MODULE_ID("$Id: cursesw.cc,v 1.46 2007/01/27 22:31:12 tom Exp $") +MODULE_ID("$Id: cursesw.cc,v 1.47 2007/03/03 21:49:24 tom Exp $") #define COLORS_NEED_INITIALIZATION -1 #define COLORS_NOT_INITIALIZED 0 @@ -355,13 +355,19 @@ NCursesWindow::useColors(void) } } +short +NCursesWindow::getPair() const +{ + return static_cast(PAIR_NUMBER(getattrs(w))); +} + short NCursesWindow::getcolor(int getback) const { short fore, back; if (HaveColors()) { - if (::pair_content(static_cast(PAIR_NUMBER(w->_attrs)), &fore, &back) == ERR) + if (::pair_content(getPair(), &fore, &back) == ERR) err_handler("Can't get color pair"); } else { // Monochrome means white on black @@ -379,7 +385,7 @@ int NCursesWindow::NumberOfColors() short NCursesWindow::getcolor() const { - return (HaveColors()) ? PAIR_NUMBER(w->_attrs) : 0; + return (HaveColors()) ? getPair() : 0; } int @@ -391,7 +397,7 @@ NCursesWindow::setpalette(short fore, short back, short pair) int NCursesWindow::setpalette(short fore, short back) { - return setpalette(fore, back, static_cast(PAIR_NUMBER(w->_attrs))); + return setpalette(fore, back, getPair()); }