From ed3f64bc5fc84fe1d33b3c95e9ea7efeb6012f81 Mon Sep 17 00:00:00 2001 From: rathnor Date: Thu, 1 May 2003 14:33:36 +0000 Subject: Fix some alignment and redraw problems --- src/FbTk/Menu.cc | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/FbTk/Menu.cc b/src/FbTk/Menu.cc index 003e593..cc56266 100644 --- a/src/FbTk/Menu.cc +++ b/src/FbTk/Menu.cc @@ -22,7 +22,7 @@ // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. -// $Id: Menu.cc,v 1.18 2003/04/28 01:32:47 fluxgen Exp $ +// $Id: Menu.cc,v 1.19 2003/05/01 14:33:36 rathnor Exp $ //use GNU extensions #ifndef _GNU_SOURCE @@ -521,8 +521,10 @@ void Menu::move(int x, int y) { if (which_sub != -1) drawSubmenu(which_sub); - if (m_parent && !m_parent->moving && !torn) + if (!(m_parent && m_parent->moving) && !torn) { + redrawTitle(); renderTransFrame(); + } } @@ -544,7 +546,7 @@ void Menu::redrawTitle() { default: break; } - + menu.title.clear(); font.drawText( menu.title.window(), // drawable screenNumber(), @@ -561,9 +563,9 @@ void Menu::redrawTitle() { m_root_pm = root_pm; } m_trans->setDest(menu.title.window(), menu.title.screenNumber()); - m_trans->render(menu.window.x() + menu.title.x() - menu.window.borderWidth(), - menu.window.y() + menu.title.y() - menu.window.borderWidth(), - menu.title.x(), menu.title.y(), + m_trans->render(menu.window.x() + menu.title.x() + menu.window.borderWidth()*2, + menu.window.y() + menu.title.y() + menu.window.borderWidth()*2, + 0, 0, menu.title.width(), menu.title.height()); } } @@ -855,9 +857,9 @@ void Menu::drawItem(unsigned int index, bool highlight, bool clear, bool render_ } m_trans->setDest(menu.frame.window(), menu.frame.screenNumber()); - m_trans->render(menu.window.x() + menu.frame.x() + item_x - + m_trans->render(menu.window.x() + menu.frame.x() + item_x + menu.window.borderWidth(), - menu.window.y() + menu.frame.y() + item_y - + menu.window.y() + menu.frame.y() + item_y + menu.window.borderWidth(), item_x, item_y, menu.item_w, menu.item_h); @@ -1184,8 +1186,7 @@ void Menu::reconfigure() { update(); } - - + void Menu::renderTransFrame() { if (m_trans.get() == 0 || moving) return; @@ -1203,8 +1204,8 @@ void Menu::renderTransFrame() { } menu.frame.clear(); m_trans->setDest(menu.frame.window(), menu.window.screenNumber()); - m_trans->render(menu.window.x() + menu.frame.x(), - menu.window.y() + menu.frame.y(), + m_trans->render(menu.window.x() + menu.frame.x() + menu.window.borderWidth(), + menu.window.y() + menu.frame.y() + menu.window.borderWidth(), 0, 0, menu.frame.width(), menu.frame.height()); -- cgit v0.11.2