91 lines
6.1 KiB
XML
91 lines
6.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
|
|
<Type Name="Rml::Variant">
|
|
<DisplayString Condition="type == '-'">{type,en}</DisplayString>
|
|
<DisplayString Condition="type == 'B'">{type,en}: {*((bool*)data)}</DisplayString>
|
|
<DisplayString Condition="type == 'b'">{type,en}: {*((Rml::byte*)data)}</DisplayString>
|
|
<DisplayString Condition="type == 'c'">{type,en}: '{*((char*)data)}'</DisplayString>
|
|
<DisplayString Condition="type == 'f'">{type,en}: {*((float*)data)}</DisplayString>
|
|
<DisplayString Condition="type == 'd'">{type,en}: {*((double*)data)}</DisplayString>
|
|
<DisplayString Condition="type == 'i'">{type,en}: {*((int*)data)}</DisplayString>
|
|
<DisplayString Condition="type == 'I'">{type,en}: {*((int64_t*)data)}</DisplayString>
|
|
<DisplayString Condition="type == 'u'">{type,en}: {*((unsigned int*)data)}</DisplayString>
|
|
<DisplayString Condition="type == 'U'">{type,en}: {*((uint64_t*)data)}</DisplayString>
|
|
<DisplayString Condition="type == 's'">{type,en}: {*((Rml::String*)data)}</DisplayString>
|
|
<DisplayString Condition="type == '2'">{type,en}: {*((Rml::Vector2f*)data)}</DisplayString>
|
|
<DisplayString Condition="type == '3'">{type,en}: {*((Rml::Vector3f*)data)}</DisplayString>
|
|
<DisplayString Condition="type == '4'">{type,en}: {*((Rml::Vector4f*)data)}</DisplayString>
|
|
<DisplayString Condition="type == 'g'">{type,en}: {*((Rml::Colourf*)data)}</DisplayString>
|
|
<DisplayString Condition="type == 'h'">{type,en}: {*((Rml::Colourb*)data)}</DisplayString>
|
|
<DisplayString Condition="type == 'p'">{type,en}: {*((Rml::ScriptInterface**)data)}</DisplayString>
|
|
<DisplayString Condition="type == 't'">{type,en}: {*((Rml::TransformPtr*)data)}</DisplayString>
|
|
<DisplayString Condition="type == 'T'">{type,en}: {*((Rml::TransitionList*)data)}</DisplayString>
|
|
<DisplayString Condition="type == 'A'">{type,en}: {*((Rml::AnimationList*)data)}</DisplayString>
|
|
<DisplayString Condition="type == 'D'">{type,en}: {*((Rml::DecoratorsPtr*)data)}</DisplayString>
|
|
<DisplayString Condition="type == 'F'">{type,en}: {*((Rml::FiltersPtr*)data)}</DisplayString>
|
|
<DisplayString Condition="type == 'E'">{type,en}: {*((Rml::FontEffectsPtr*)data)}</DisplayString>
|
|
<DisplayString Condition="type == 'C'">{type,en}: {*((Rml::ColorStopList*)data)}</DisplayString>
|
|
<DisplayString Condition="type == 'S'">{type,en}: {*((Rml::BoxShadowList*)data)}</DisplayString>
|
|
<DisplayString Condition="type == '*'">{type,en}: {*((void**)data)}</DisplayString>
|
|
<DisplayString>Unknown type: {(char)type}</DisplayString>
|
|
|
|
<Expand>
|
|
<Item Name="[type]">type</Item>
|
|
<Item Name="[value]" Condition="type == 'B'">*((bool*)data)</Item>
|
|
<Item Name="[value]" Condition="type == 'b'">*((Rml::byte*)data)</Item>
|
|
<Item Name="[value]" Condition="type == 'c'">*((char*)data)</Item>
|
|
<Item Name="[value]" Condition="type == 'f'">*((float*)data)</Item>
|
|
<Item Name="[value]" Condition="type == 'd'">*((double*)data)</Item>
|
|
<Item Name="[value]" Condition="type == 'i'">*((int*)data)</Item>
|
|
<Item Name="[value]" Condition="type == 'I'">*((int64_t*)data)</Item>
|
|
<Item Name="[value]" Condition="type == 'u'">*((unsigned int*)data)</Item>
|
|
<Item Name="[value]" Condition="type == 'U'">*((uint64_t*)data)</Item>
|
|
<Item Name="[value]" Condition="type == 's'">*((Rml::String*)data)</Item>
|
|
<Item Name="[value]" Condition="type == '2'">*((Rml::Vector2f*)data)</Item>
|
|
<Item Name="[value]" Condition="type == '3'">*((Rml::Vector3f*)data)</Item>
|
|
<Item Name="[value]" Condition="type == '4'">*((Rml::Vector4f*)data)</Item>
|
|
<Item Name="[value]" Condition="type == 'g'">*((Rml::Colourf*)data)</Item>
|
|
<Item Name="[value]" Condition="type == 'h'">*((Rml::Colourb*)data)</Item>
|
|
<Item Name="[value]" Condition="type == 'p'">*((Rml::ScriptInterface**)data)</Item>
|
|
<Item Name="[value]" Condition="type == 't'">*((Rml::TransformPtr*)data)</Item>
|
|
<Item Name="[value]" Condition="type == 'T'">*((Rml::TransitionList*)data)</Item>
|
|
<Item Name="[value]" Condition="type == 'A'">*((Rml::AnimationList*)data)</Item>
|
|
<Item Name="[value]" Condition="type == 'D'">*((Rml::DecoratorsPtr*)data)</Item>
|
|
<Item Name="[value]" Condition="type == 'F'">*((Rml::FiltersPtr*)data)</Item>
|
|
<Item Name="[value]" Condition="type == 'E'">*((Rml::FontEffectsPtr*)data)</Item>
|
|
<Item Name="[value]" Condition="type == 'C'">*((Rml::ColorStopList*)data)</Item>
|
|
<Item Name="[value]" Condition="type == 'S'">*((Rml::BoxShadowList*)data)</Item>
|
|
<Item Name="[value]" Condition="type == '*'">*((void**)data)</Item>
|
|
</Expand>
|
|
</Type>
|
|
<Type Name="Rml::PropertyIdSet">
|
|
<Intrinsic Name="popcount_s1" Expression="x - ((x >> 1) & 0x5555555555555555ULL)">
|
|
<Parameter Name="x" Type="unsigned __int64" />
|
|
</Intrinsic>
|
|
<Intrinsic Name="popcount_s2" Expression="(x & 0x3333333333333333ULL) + ((x >> 2) & 0x3333333333333333ULL)">
|
|
<Parameter Name="x" Type="unsigned __int64" />
|
|
</Intrinsic>
|
|
<Intrinsic Name="popcount_s3" Expression="(x + (x >> 4)) & 0x0F0F0F0F0F0F0F0FULL">
|
|
<Parameter Name="x" Type="unsigned __int64" />
|
|
</Intrinsic>
|
|
<Intrinsic Name="popcount64" Expression="(popcount_s3(popcount_s2(popcount_s1(x))) * 0x0101010101010101ULL) >> 56">
|
|
<Parameter Name="x" Type="unsigned __int64" />
|
|
</Intrinsic>
|
|
<Intrinsic Name="size" Expression="popcount64(defined_ids._Array[0]) + popcount64(defined_ids._Array[1])" />
|
|
<DisplayString Condition="size() == 0">{{ empty }}</DisplayString>
|
|
<DisplayString>{{ size={size()} }}</DisplayString>
|
|
<Expand>
|
|
<Item Name="[size]" ExcludeView="simple">size()</Item>
|
|
<CustomListItems MaxItemsPerView="128">
|
|
<Variable Name="i" InitialValue="1" />
|
|
<Loop>
|
|
<Break Condition="i >= 128" />
|
|
<If Condition="(defined_ids._Array[i / 64] & (1ULL << (i % 64))) != 0">
|
|
<Item Name="[{i}]">(Rml::PropertyId)i,en</Item>
|
|
</If>
|
|
<Exec>i = i + 1</Exec>
|
|
</Loop>
|
|
</CustomListItems>
|
|
</Expand>
|
|
</Type>
|
|
</AutoVisualizer>
|