add colorspace fix for window borders with transparency
This commit is contained in:
parent
1d19662c89
commit
b584834bfc
1 changed files with 13 additions and 1 deletions
|
@ -252,7 +252,19 @@ void FbWindow::updateBackground(bool only_if_alpha) {
|
|||
}
|
||||
|
||||
void FbWindow::setBorderColor(const FbTk::Color &border_color) {
|
||||
XSetWindowBorder(display(), m_window, border_color.pixel());
|
||||
unsigned long pixel = border_color.pixel();
|
||||
XWindowAttributes attr;
|
||||
if (XGetWindowAttributes(display(), m_window, &attr)
|
||||
&& attr.colormap != DefaultColormap(display(), m_screen_num)) {
|
||||
XColor color;
|
||||
color.red = border_color.red() * 0x101;
|
||||
color.green = border_color.green() * 0x101;
|
||||
color.blue = border_color.blue() * 0x101;
|
||||
if (XAllocColor(display(), attr.colormap, &color)){
|
||||
pixel = color.pixel;
|
||||
}
|
||||
}
|
||||
XSetWindowBorder(display(), m_window, pixel);
|
||||
m_border_color = border_color.pixel();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue