Browse Source

Apply element transform to debugger render boxes

Michael Ragazzon 6 years ago
parent
commit
ba57c6e9e0
2 changed files with 21 additions and 2 deletions
  1. 12 1
      Source/Debugger/ElementInfo.cpp
  2. 9 1
      Source/Debugger/Plugin.cpp

+ 12 - 1
Source/Debugger/ElementInfo.cpp

@@ -108,12 +108,19 @@ void ElementInfo::RenderHoverElement()
 {
 	if (hover_element)
 	{
+		Core::ElementUtilities::ApplyTransform(*hover_element);
 		for (int i = 0; i < hover_element->GetNumBoxes(); i++)
 		{
 			// Render the content area.
 			const Core::Box element_box = hover_element->GetBox(i);
-			Geometry::RenderOutline(hover_element->GetAbsoluteOffset(Core::Box::BORDER) + element_box.GetPosition(Core::Box::BORDER), element_box.GetSize(Core::Box::BORDER), Core::Colourb(255, 0, 0, 255), 1);
+			Geometry::RenderOutline(
+				hover_element->GetAbsoluteOffset(Core::Box::BORDER) + element_box.GetPosition(Core::Box::BORDER), 
+				element_box.GetSize(Core::Box::BORDER), 
+				Core::Colourb(255, 0, 0, 255), 
+				1
+			);
 		}
+		Core::ElementUtilities::UnapplyTransform(*hover_element);
 	}
 }
 
@@ -121,6 +128,8 @@ void ElementInfo::RenderSourceElement()
 {
 	if (source_element)
 	{
+		Core::ElementUtilities::ApplyTransform(*source_element);
+
 		for (int i = 0; i < source_element->GetNumBoxes(); i++)
 		{
 			const Core::Box element_box = source_element->GetBox(i);
@@ -137,6 +146,8 @@ void ElementInfo::RenderSourceElement()
 			// Border area:
 			Geometry::RenderBox(source_element->GetAbsoluteOffset(Core::Box::BORDER) + element_box.GetPosition(Core::Box::MARGIN), element_box.GetSize(Core::Box::MARGIN), source_element->GetAbsoluteOffset(Core::Box::BORDER) + element_box.GetPosition(Core::Box::BORDER), element_box.GetSize(Core::Box::BORDER), Core::Colourb(240, 255, 131, 128));
 		}
+
+		Core::ElementUtilities::UnapplyTransform(*source_element);
 	}
 }
 

+ 9 - 1
Source/Debugger/Plugin.cpp

@@ -177,14 +177,22 @@ void Plugin::Render()
 				element_stack.pop();
 				if (element->IsVisible())
 				{
+					Core::ElementUtilities::ApplyTransform(*element);
 					for (int j = 0; j < element->GetNumBoxes(); ++j)
 					{
 						const Core::Box& box = element->GetBox(j);
-						Geometry::RenderOutline(element->GetAbsoluteOffset(Core::Box::BORDER) + box.GetPosition(Core::Box::BORDER), box.GetSize(Core::Box::BORDER), Core::Colourb(255, 0, 0, 128), 1);
+						Geometry::RenderOutline(
+							element->GetAbsoluteOffset(Core::Box::BORDER) + box.GetPosition(Core::Box::BORDER), 
+							box.GetSize(Core::Box::BORDER), 
+							Core::Colourb(255, 0, 0, 128), 
+							1
+						);
 					}
 
 					for (int j = 0; j < element->GetNumChildren(); ++j)
 						element_stack.push(element->GetChild(j));
+					
+					Core::ElementUtilities::UnapplyTransform(*element);
 				}
 			}
 		}