From: Perttu Ahola Date: Thu, 1 Dec 2011 09:25:55 +0000 (+0200) Subject: Inventory move-to-slot hilighting X-Git-Url: http://81.2.79.47:8989/gitweb/?a=commitdiff_plain;h=4196b0d341ec9132490eca6f9a116b80042ee2b1;p=zefram%2Fminetest%2Fminetest_engine.git Inventory move-to-slot hilighting --- diff --git a/src/guiInventoryMenu.cpp b/src/guiInventoryMenu.cpp index 9b73af3e..47393e80 100644 --- a/src/guiInventoryMenu.cpp +++ b/src/guiInventoryMenu.cpp @@ -265,9 +265,17 @@ void GUIInventoryMenu::drawList(const ListDrawSpec &s, ITextureSource *tsrc) rect.LowerRightCorner + v2s32(1,1)*border), &AbsoluteClippingRect); } - - video::SColor bgcolor(255,128,128,128); - driver->draw2DRectangle(bgcolor, rect, &AbsoluteClippingRect); + + if(rect.isPointInside(m_pointer) && m_selected_item) + { + video::SColor bgcolor(255,192,192,192); + driver->draw2DRectangle(bgcolor, rect, &AbsoluteClippingRect); + } + else + { + video::SColor bgcolor(255,128,128,128); + driver->draw2DRectangle(bgcolor, rect, &AbsoluteClippingRect); + } if(item) { @@ -319,8 +327,10 @@ bool GUIInventoryMenu::OnEvent(const SEvent& event) if(event.EventType==EET_MOUSE_INPUT_EVENT) { char amount = -1; - - if(event.MouseInput.Event == EMIE_LMOUSE_PRESSED_DOWN) + + if(event.MouseInput.Event==EMIE_MOUSE_MOVED) + m_pointer = v2s32(event.MouseInput.X, event.MouseInput.Y); + else if(event.MouseInput.Event == EMIE_LMOUSE_PRESSED_DOWN) amount = 0; else if(event.MouseInput.Event == EMIE_RMOUSE_PRESSED_DOWN) amount = 1; diff --git a/src/guiInventoryMenu.h b/src/guiInventoryMenu.h index 55d18a85..c8fe0d06 100644 --- a/src/guiInventoryMenu.h +++ b/src/guiInventoryMenu.h @@ -159,6 +159,7 @@ protected: core::array m_draw_spec; ItemSpec *m_selected_item; + v2s32 m_pointer; }; #endif