<?xml version="1.0" encoding="utf-8"?>

<!-- natvis file for Visual Studio debugger (you can include this in a project file, or install in visual studio folder) -->

<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">

<Type Name="ImVector&lt;*&gt;">
  <DisplayString>{{Size={Size} Capacity={Capacity}}}</DisplayString>
  <Expand>
    <ArrayItems>
      <Size>Size</Size>
      <ValuePointer>Data</ValuePointer>
    </ArrayItems>
  </Expand>
</Type>

<Type Name="ImVec2">
  <DisplayString>{{x={x,g} y={y,g}}}</DisplayString>
</Type>

<Type Name="ImVec4">
  <DisplayString>{{x={x,g} y={y,g} z={z,g} w={w,g}}}</DisplayString>
</Type>

<Type Name="ImRect">
  <DisplayString>{{Min=({Min.x,g} {Min.y,g}) Max=({Max.x,g} {Max.y,g}) Size=({Max.x-Min.x,g} {Max.y-Min.y,g})}}</DisplayString>
  <Expand>
    <Item Name="Min">Min</Item>
    <Item Name="Max">Max</Item>
    <Item Name="[Width]">Max.x - Min.x</Item>
    <Item Name="[Height]">Max.y - Min.y</Item>
  </Expand>
</Type>

<Type Name="ImGuiWindow">
  <DisplayString>{{Name {Name,s} Active {(Active||WasActive)?1:0,d} Child {(Flags &amp; 0x01000000)?1:0,d} Popup {(Flags &amp; 0x04000000)?1:0,d} Hidden {(Hidden)?1:0,d}}</DisplayString>
</Type>

<Type Name="ImGuiDockNode">
  <DisplayString>{{ID {ID,x} Pos=({Pos.x,g} {Pos.y,g}) Size=({Size.x,g} {Size.y,g}) Parent {(ParentNode==0)?0:ParentNode->ID,x} Childs {(ChildNodes[0] != 0)+(ChildNodes[1] != 0)} Windows {Windows.Size}  }</DisplayString>
</Type>
  
</AutoVisualizer>