Просмотр исходного кода

Scroll bars now drag and highlight properly
Tree view x offset is now properly set according to what coordinate layout gives us

Marko Pintera 12 лет назад
Родитель
Сommit
9dcdb62b63

+ 5 - 5
BansheeEngine/Source/BsGUIManager.cpp

@@ -700,11 +700,11 @@ namespace BansheeEngine
 		}
 		else // Otherwise, send MouseMove events if we are hovering over any element
 		{
-			for(auto& elementInfo : mElementsUnderCursor)
+			if(mLastCursorScreenPos != event.screenPos)
 			{
-				// Send MouseMove event
-				if(mLastCursorScreenPos != event.screenPos)
+				for(auto& elementInfo : mElementsUnderCursor)
 				{
+					// Send MouseMove event
 					Vector2I localPos = getWidgetRelativePos(*elementInfo.widget, event.screenPos);
 					mMouseEvent.setMouseMoveData(localPos);
 					bool processed = sendMouseEvent(elementInfo.widget, elementInfo.element, mMouseEvent);
@@ -715,10 +715,10 @@ namespace BansheeEngine
 						break;
 					}
 				}
-
-				mLastCursorScreenPos = event.screenPos;
 			}
 
+			mLastCursorScreenPos = event.screenPos;
+
 			if(Math::abs(event.mouseWheelScrollAmount) > 0.00001f)
 			{
 				for(auto& elementInfo : mElementsUnderCursor)

+ 2 - 2
CamelotClient/Source/BsGUISceneTreeView.cpp

@@ -786,7 +786,7 @@ namespace BansheeEditor
 				mVisibleElements.push_back(InteractableElement(current->mParent, current->mSortedIdx * 2 + 0, RectI(x, offset.y, width, ELEMENT_EXTRA_SPACING)));
 				mVisibleElements.push_back(InteractableElement(current->mParent, current->mSortedIdx * 2 + 1, RectI(x, offset.y + ELEMENT_EXTRA_SPACING, width, btnHeight)));
 
-				offset.x = INITIAL_INDENT_OFFSET + indent * INDENT_SIZE;
+				offset.x = x + INITIAL_INDENT_OFFSET + indent * INDENT_SIZE;
 				offset.y += ELEMENT_EXTRA_SPACING;
 
 				current->mElement->_setOffset(offset);
@@ -805,7 +805,7 @@ namespace BansheeEditor
 			{
 				Vector2I elementSize = current->mFoldoutBtn->_getOptimalSize();
 
-				offset.x -= std::min((INT32)INITIAL_INDENT_OFFSET, elementSize.y);
+				offset.x -= std::min((INT32)INITIAL_INDENT_OFFSET, elementSize.x);
 
 				Vector2I myOffset = offset;
 				myOffset.y -= 2; // TODO: Arbitrary offset, I should adjust it based on font baseline so that the button is nicely centered on text