| 1 | <?xml version="1.0" encoding="utf-8"?> |
| 2 | <!-- |
| 3 | .natvis file for Visual Studio debugger. |
| 4 | Purpose: provide nicer views on data types used by Dear ImGui. |
| 5 | |
| 6 | To enable: |
| 7 | * include file in your VS project (most recommended: not intrusive and always kept up to date!) |
| 8 | * or copy in %USERPROFILE%\Documents\Visual Studio XXXX\Visualizers (current user) |
| 9 | * or copy in %VsInstallDirectory%\Common7\Packages\Debugger\Visualizers (all users) |
| 10 | |
| 11 | More information at: https://docs.microsoft.com/en-us/visualstudio/debugger/create-custom-views-of-native-objects?view=vs-2019 |
| 12 | --> |
| 13 | |
| 14 | <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010"> |
| 15 | |
| 16 | <Type Name="ImVector<*>"> |
| 17 | <DisplayString>{{Size={Size} Capacity={Capacity}}}</DisplayString> |
| 18 | <Expand> |
| 19 | <ArrayItems> |
| 20 | <Size>Size</Size> |
| 21 | <ValuePointer>Data</ValuePointer> |
| 22 | </ArrayItems> |
| 23 | </Expand> |
| 24 | </Type> |
| 25 | |
| 26 | <Type Name="ImSpan<*>"> |
| 27 | <DisplayString>{{Size={DataEnd-Data} }}</DisplayString> |
| 28 | <Expand> |
| 29 | <ArrayItems> |
| 30 | <Size>DataEnd-Data</Size> |
| 31 | <ValuePointer>Data</ValuePointer> |
| 32 | </ArrayItems> |
| 33 | </Expand> |
| 34 | </Type> |
| 35 | |
| 36 | <Type Name="ImVec2"> |
| 37 | <DisplayString>{{x={x,g} y={y,g}}}</DisplayString> |
| 38 | </Type> |
| 39 | |
| 40 | <Type Name="ImVec4"> |
| 41 | <DisplayString>{{x={x,g} y={y,g} z={z,g} w={w,g}}}</DisplayString> |
| 42 | </Type> |
| 43 | |
| 44 | <Type Name="ImRect"> |
| 45 | <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> |
| 46 | <Expand> |
| 47 | <Item Name="Min">Min</Item> |
| 48 | <Item Name="Max">Max</Item> |
| 49 | <Item Name="[Width]">Max.x - Min.x</Item> |
| 50 | <Item Name="[Height]">Max.y - Min.y</Item> |
| 51 | </Expand> |
| 52 | </Type> |
| 53 | |
| 54 | <Type Name="ImGuiWindow"> |
| 55 | <DisplayString>{{Name {Name,s} Active {(Active||WasActive)?1:0,d} Child {(Flags & 0x01000000)?1:0,d} Popup {(Flags & 0x04000000)?1:0,d} Hidden {(Hidden)?1:0,d}}</DisplayString> |
| 56 | </Type> |
| 57 | |
| 58 | <Type Name="ImGuiDockNode"> |
| 59 | <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> |
| 60 | </Type> |
| 61 | |
| 62 | </AutoVisualizer> |