aboutsummaryrefslogtreecommitdiff
path: root/src/FbTk/Color.cc
diff options
context:
space:
mode:
authorfluxgen <fluxgen>2006-02-12 08:05:34 (GMT)
committerfluxgen <fluxgen>2006-02-12 08:05:34 (GMT)
commitab26593cddf2fc0004da8048e28216792ed433ef (patch)
tree4add528920b7358c3355507362c4b12a933b2638 /src/FbTk/Color.cc
parente85b2f3f5b091bac8101bc90ba04e575b845758e (diff)
downloadfluxbox-ab26593cddf2fc0004da8048e28216792ed433ef.zip
fluxbox-ab26593cddf2fc0004da8048e28216792ed433ef.tar.bz2
added static validColorString function, returns true if the color string is in valid color format
Diffstat (limited to 'src/FbTk/Color.cc')
-rw-r--r--src/FbTk/Color.cc17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/FbTk/Color.cc b/src/FbTk/Color.cc
index 7d050d3..dd80bd3 100644
--- a/src/FbTk/Color.cc
+++ b/src/FbTk/Color.cc
@@ -31,11 +31,9 @@
31using namespace std; 31using namespace std;
32 32
33namespace { 33namespace {
34unsigned char maxValue(unsigned short colval) {
35 if (colval == 65535)
36 return 0xFF;
37 34
38 return static_cast<unsigned char>(colval/0xFF); 35inline unsigned char maxValue(unsigned short colval) {
36 return colval == 65535 ? 0xFF : static_cast<unsigned char>(colval/0xFF);
39} 37}
40 38
41}; 39};
@@ -106,6 +104,17 @@ bool Color::setFromString(const char *color_string, int screen) {
106 return true; 104 return true;
107} 105}
108 106
107bool Color::validColorString(const char *color_string, int screen) {
108 XColor color;
109 Display *disp = App::instance()->display();
110 Colormap colm = DefaultColormap(disp, screen);
111 // trim white space
112 string color_string_tmp = color_string;
113 StringUtil::removeFirstWhitespace(color_string_tmp);
114 StringUtil::removeTrailingWhitespace(color_string_tmp);
115
116 return XParseColor(disp, colm, color_string_tmp.c_str(), &color) != 0;
117}
109 118
110Color &Color::operator = (const Color &col_copy) { 119Color &Color::operator = (const Color &col_copy) {
111 // check for aliasing 120 // check for aliasing