diff options
| author | Dana Jansens <danakj@orodu.net> | 2002-08-22 03:46:45 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2002-08-22 03:46:45 +0000 |
| commit | a1b96061eb78c44ddb5fda026efb6ba7b52c93af (patch) | |
| tree | c7770b575b4c9047a377a69298c7c40072a92827 /src | |
| parent | 266a35a943d0202b0e450b1f4e5313bce2de367b (diff) | |
sync with bb-cvs
Diffstat (limited to 'src')
| -rw-r--r-- | src/Screen.cc | 61 | ||||
| -rw-r--r-- | src/Screen.hh | 6 | ||||
| -rw-r--r-- | src/Window.cc | 6 |
3 files changed, 50 insertions, 23 deletions
diff --git a/src/Screen.cc b/src/Screen.cc index acde7736..d92dec35 100644 --- a/src/Screen.cc +++ b/src/Screen.cc @@ -974,10 +974,19 @@ void BScreen::LoadStyle(void) { readDatabaseTexture("window.button.unfocus", "black", style); resource.wstyle.b_pressed = readDatabaseTexture("window.button.pressed", "black", style); - resource.wstyle.f_focus = - readDatabaseColor("window.frame.focusColor", "white", style); - resource.wstyle.f_unfocus = - readDatabaseColor("window.frame.unfocusColor", "black", style); + + // we create the window.frame texture by hand because it exists only to + // make the code cleaner and is not actually used for display + BColor color = readDatabaseColor("window.frame.focusColor", "white", style); + resource.wstyle.f_focus = BTexture("solid flat", getBaseDisplay(), + getScreenNumber(), image_control); + resource.wstyle.f_focus.setColor(color); + + color = readDatabaseColor("window.frame.unfocusColor", "white", style); + resource.wstyle.f_unfocus = BTexture("solid flat", getBaseDisplay(), + getScreenNumber(), image_control); + resource.wstyle.f_unfocus.setColor(color); + resource.wstyle.l_text_focus = readDatabaseColor("window.label.focus.textColor", "black", style); resource.wstyle.l_text_unfocus = @@ -995,7 +1004,17 @@ void BScreen::LoadStyle(void) { resource.wstyle.justify = CenterJustify; } - // load toolbar config + // sanity checks + if (resource.wstyle.t_focus.texture() == BTexture::Parent_Relative) + resource.wstyle.t_focus = resource.wstyle.f_focus; + if (resource.wstyle.t_unfocus.texture() == BTexture::Parent_Relative) + resource.wstyle.t_unfocus = resource.wstyle.f_unfocus; + if (resource.wstyle.h_focus.texture() == BTexture::Parent_Relative) + resource.wstyle.h_focus = resource.wstyle.f_focus; + if (resource.wstyle.h_unfocus.texture() == BTexture::Parent_Relative) + resource.wstyle.h_unfocus = resource.wstyle.f_unfocus; + +// load toolbar config resource.tstyle.toolbar = readDatabaseTexture("toolbar", "black", style); resource.tstyle.label = @@ -1025,6 +1044,14 @@ void BScreen::LoadStyle(void) { resource.tstyle.justify = CenterJustify; } + // sanity checks + if (resource.tstyle.toolbar.texture() == BTexture::Parent_Relative) { + resource.tstyle.toolbar = BTexture("solid flat", getBaseDisplay(), + getScreenNumber(), image_control); + resource.tstyle.toolbar.setColor(BColor("black", getBaseDisplay(), + getScreenNumber())); + } + // load menu config resource.mstyle.title = readDatabaseTexture("menu.title", "white", style); @@ -1073,6 +1100,14 @@ void BScreen::LoadStyle(void) { resource.mstyle.bullet_pos = Basemenu::Right; } + // sanity checks + if (resource.mstyle.frame.texture() == BTexture::Parent_Relative) { + resource.mstyle.frame = BTexture("solid flat", getBaseDisplay(), + getScreenNumber(), image_control); + resource.mstyle.frame.setColor(BColor("black", getBaseDisplay(), + getScreenNumber())); + } + resource.border_color = readDatabaseColor("borderColor", "black", style); @@ -2422,18 +2457,10 @@ BTexture BScreen::readDatabaseTexture(const string &rname, texture.setDisplay(getBaseDisplay(), getScreenNumber()); texture.setImageControl(image_control); - if (texture.texture() & BTexture::Solid) { - texture.setColor(readDatabaseColor(rname + ".color", - default_color, style)); - texture.setColorTo(readDatabaseColor(rname + ".colorTo", - default_color, style)); - } else if (texture.texture() & BTexture::Gradient) { - texture.setColor(readDatabaseColor(rname + ".color", - default_color, style)); - texture.setColorTo(readDatabaseColor(rname + ".colorTo", - default_color, style)); - } - + texture.setColor(readDatabaseColor(rname + ".color", default_color, style)); + texture.setColorTo(readDatabaseColor(rname + ".colorTo", default_color, + style)); + return texture; } diff --git a/src/Screen.hh b/src/Screen.hh index 6d12f320..cb9a8ae2 100644 --- a/src/Screen.hh +++ b/src/Screen.hh @@ -62,10 +62,10 @@ struct Strut; enum TextJustify { LeftJustify = 1, RightJustify, CenterJustify }; struct WindowStyle { - BColor f_focus, f_unfocus, l_text_focus, l_text_unfocus, b_pic_focus, + BColor l_text_focus, l_text_unfocus, b_pic_focus, b_pic_unfocus; - BTexture t_focus, t_unfocus, l_focus, l_unfocus, h_focus, h_unfocus, - b_focus, b_unfocus, b_pressed, g_focus, g_unfocus; + BTexture f_focus, f_unfocus, t_focus, t_unfocus, l_focus, l_unfocus, + h_focus, h_unfocus, b_focus, b_unfocus, b_pressed, g_focus, g_unfocus; BFont *font; diff --git a/src/Window.cc b/src/Window.cc index d696161e..1b86b285 100644 --- a/src/Window.cc +++ b/src/Window.cc @@ -590,8 +590,8 @@ void BlackboxWindow::decorate(void) { } if (decorations & Decor_Border) { - frame.fborder_pixel = screen->getWindowStyle()->f_focus.pixel(); - frame.uborder_pixel = screen->getWindowStyle()->f_unfocus.pixel(); + frame.fborder_pixel = screen->getWindowStyle()->f_focus.color().pixel(); + frame.uborder_pixel = screen->getWindowStyle()->f_unfocus.color().pixel(); } if (decorations & Decor_Handle) { @@ -2710,7 +2710,7 @@ void BlackboxWindow::reparentNotifyEvent(const XReparentEvent *re) { void BlackboxWindow::propertyNotifyEvent(const XPropertyEvent *pe) { - if (pe->state == PropertyDelete) + if (pe->state == PropertyDelete || ! validateClient()) return; #if 0 |
