odin-blend2d

Odin bindings to Blend2D
Log | Files | Refs | README | LICENSE

blend2d.natvis (36181B)


      1 <?xml version="1.0" encoding="utf-8"?>
      2 <!-- Blend2D natvis support for Visual Studio -->
      3 
      4 <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
      5   <!--
      6     ImageWatch extensions allows to show the content of BLImage in Visual Studio.
      7     ImageWatch specific fields: [width], [height], [data], [stride], [type], [channels]
      8   -->
      9   <UIVisualizer ServiceId="{A452AFEA-3DF6-46BB-9177-C0B08F318025}" Id="1" MenuName="Add to Image Watch"/>
     10 
     11   <Intrinsic Name="__BL_OBJECT_TYPE_RGBA" Expression="0" />
     12 
     13   <Type Name="BLRgba32">
     14     <DisplayString>BLRgba32 #{value, xb}</DisplayString>
     15     <Expand HideRawView="true">
     16       <Item Name="[value]" ExcludeView="simple">value, x</Item>
     17       <Synthetic Name="[r]">
     18         <DisplayString>{(value &gt;&gt; 16) &amp; 0xFF, d}</DisplayString>
     19       </Synthetic>
     20       <Synthetic Name="[g]">
     21         <DisplayString>{(value &gt;&gt; 8) &amp; 0xFF, d}</DisplayString>
     22       </Synthetic>
     23       <Synthetic Name="[b]">
     24         <DisplayString>{(value &gt;&gt; 0) &amp; 0xFF, d}</DisplayString>
     25       </Synthetic>
     26       <Synthetic Name="[a]">
     27         <DisplayString>{(value &gt;&gt; 24) &amp; 0xFF, d}</DisplayString>
     28       </Synthetic>
     29     </Expand>
     30   </Type>
     31 
     32   <Type Name="BLRgba64">
     33     <DisplayString>BLRgba64 #{value, xb}</DisplayString>
     34     <Expand HideRawView="true">
     35       <Item Name="[value]" ExcludeView="simple">value, x</Item>
     36       <Synthetic Name="[r]">
     37         <DisplayString>{(value &gt;&gt; 32) &amp; 0xFFFF, d}</DisplayString>
     38       </Synthetic>
     39       <Synthetic Name="[g]">
     40         <DisplayString>{(value &gt;&gt; 16) &amp; 0xFFFF, d}</DisplayString>
     41       </Synthetic>
     42       <Synthetic Name="[b]">
     43         <DisplayString>{(value &gt;&gt; 0) &amp; 0xFFFF, d}</DisplayString>
     44       </Synthetic>
     45       <Synthetic Name="[a]">
     46         <DisplayString>{(value &gt;&gt; 48) &amp; 0xFFFF, d}</DisplayString>
     47       </Synthetic>
     48     </Expand>
     49   </Type>
     50 
     51   <Type Name="BLRgba">
     52     <DisplayString>BLRgba [{r}, {g}, {b}, {a}]</DisplayString>
     53     <Expand HideRawView="true">
     54       <Item Name="[r]" ExcludeView="simple">r</Item>
     55       <Item Name="[g]" ExcludeView="simple">g</Item>
     56       <Item Name="[b]" ExcludeView="simple">b</Item>
     57       <Item Name="[a]" ExcludeView="simple">a</Item>
     58     </Expand>
     59   </Type>
     60 
     61   <Type Name="BLArrayImpl">
     62     <DisplayString>BLArrayImpl</DisplayString>
     63     <Expand HideRawView="true">
     64       <Item Name="[data]" ExcludeView="simple">data</Item>
     65       <Item Name="[size]" ExcludeView="simple">size, d</Item>
     66       <Item Name="[capacity]" ExcludeView="simple">capacity, d</Item>
     67     </Expand>
     68   </Type>
     69 
     70   <Type Name="BLArrayCore">
     71     <Intrinsic Name="get_raw_type" Expression="((_d.info.bits &amp; BL_OBJECT_INFO_TYPE_MASK) &gt;&gt; BL_OBJECT_INFO_TYPE_SHIFT)"/>
     72     <Intrinsic Name="sso" Expression="(_d.info.bits &amp; BL_OBJECT_INFO_D_FLAG) == 0"/>
     73     <Intrinsic Name="sso_a_field" Expression="((_d.info.bits &amp; BL_OBJECT_INFO_A_MASK) &gt;&gt; BL_OBJECT_INFO_A_SHIFT)"/>
     74     <Intrinsic Name="sso_b_field" Expression="((_d.info.bits &amp; BL_OBJECT_INFO_B_MASK) &gt;&gt; BL_OBJECT_INFO_B_SHIFT)"/>
     75     <Intrinsic Name="sso_size" Expression="size_t(sso_a_field())"/>
     76     <Intrinsic Name="sso_capacity" Expression="size_t(sso_b_field())"/>
     77 
     78     <Intrinsic Name="get_impl" Expression="((BLArrayImpl*)(_d.impl))"/>
     79     <Intrinsic Name="get_data" Expression="(sso() ? (void*)_d.u8_data : get_impl()-&gt;data)"/>
     80     <Intrinsic Name="get_size" Expression="(sso() ? sso_size() : get_impl()-&gt;size)"/>
     81     <Intrinsic Name="get_capacity" Expression="(sso() ? sso_size() : get_impl()-&gt;capacity)"/>
     82 
     83     <DisplayString Condition="get_raw_type() == BL_OBJECT_TYPE_ARRAY_OBJECT">BLArray&lt;BLObject&gt; {{ size={get_size(), d} capacity={get_capacity(), d} }}</DisplayString>
     84     <DisplayString Condition="get_raw_type() == BL_OBJECT_TYPE_ARRAY_INT8">BLArray&lt;int8_t&gt; {{ size={get_size(), d} capacity={get_capacity(), d} }}</DisplayString>
     85     <DisplayString Condition="get_raw_type() == BL_OBJECT_TYPE_ARRAY_UINT8">BLArray&lt;uint8_t&gt; {{ size={get_size(), d} capacity={get_capacity(), d} }}</DisplayString>
     86     <DisplayString Condition="get_raw_type() == BL_OBJECT_TYPE_ARRAY_INT16">BLArray&lt;int16_t&gt; {{ size={get_size(), d} capacity={get_capacity(), d} }}</DisplayString>
     87     <DisplayString Condition="get_raw_type() == BL_OBJECT_TYPE_ARRAY_UINT16">BLArray&lt;uint16_t&gt; {{ size={get_size(), d} capacity={get_capacity(), d} }}</DisplayString>
     88     <DisplayString Condition="get_raw_type() == BL_OBJECT_TYPE_ARRAY_INT32">BLArray&lt;int32_t&gt; {{ size={get_size(), d} capacity={get_capacity(), d} }}</DisplayString>
     89     <DisplayString Condition="get_raw_type() == BL_OBJECT_TYPE_ARRAY_UINT32">BLArray&lt;uint32_t&gt; {{ size={get_size(), d} capacity={get_capacity(), d} }}</DisplayString>
     90     <DisplayString Condition="get_raw_type() == BL_OBJECT_TYPE_ARRAY_INT64">BLArray&lt;int64_t&gt; {{ size={get_size(), d} capacity={get_capacity(), d} }}</DisplayString>
     91     <DisplayString Condition="get_raw_type() == BL_OBJECT_TYPE_ARRAY_UINT64">BLArray&lt;uint64_t&gt; {{ size={get_size(), d} capacity={get_capacity(), d} }}</DisplayString>
     92     <DisplayString Condition="get_raw_type() == BL_OBJECT_TYPE_ARRAY_FLOAT32">BLArray&lt;float&gt; {{ size={get_size(), d} capacity={get_capacity(), d} }}</DisplayString>
     93     <DisplayString Condition="get_raw_type() == BL_OBJECT_TYPE_ARRAY_FLOAT64">BLArray&lt;double&gt; {{ size={get_size(), d} capacity={get_capacity(), d} }}</DisplayString>
     94     <DisplayString Condition="get_raw_type() > BL_OBJECT_TYPE_ARRAY_FLOAT64">BLArray&lt;struct&gt; {{ size={get_size(), d} capacity={get_capacity(), d} }}</DisplayString>
     95 
     96     <Expand HideRawView="true">
     97       <Item Name="[detail]" ExcludeView="simple">_d</Item>
     98       <Item Name="[size]" ExcludeView="simple">get_size(), d</Item>
     99       <Item Name="[capacity]" ExcludeView="simple">get_capacity(), d</Item>
    100       <ArrayItems>
    101         <Size>get_size()</Size>
    102         <ValuePointer Condition="get_raw_type() == BL_OBJECT_TYPE_ARRAY_OBJECT">(BLObjectCore*)get_data()</ValuePointer>
    103         <ValuePointer Condition="get_raw_type() == BL_OBJECT_TYPE_ARRAY_INT8">(int8_t*)get_data()</ValuePointer>
    104         <ValuePointer Condition="get_raw_type() == BL_OBJECT_TYPE_ARRAY_UINT8">(uint8_t*)get_data()</ValuePointer>
    105         <ValuePointer Condition="get_raw_type() == BL_OBJECT_TYPE_ARRAY_INT16">(int16_t*)get_data()</ValuePointer>
    106         <ValuePointer Condition="get_raw_type() == BL_OBJECT_TYPE_ARRAY_UINT16">(uint16_t*)get_data()</ValuePointer>
    107         <ValuePointer Condition="get_raw_type() == BL_OBJECT_TYPE_ARRAY_INT32">(int32_t*)get_data()</ValuePointer>
    108         <ValuePointer Condition="get_raw_type() == BL_OBJECT_TYPE_ARRAY_UINT32">(uint32_t*)get_data()</ValuePointer>
    109         <ValuePointer Condition="get_raw_type() == BL_OBJECT_TYPE_ARRAY_INT64">(int64_t*)get_data()</ValuePointer>
    110         <ValuePointer Condition="get_raw_type() == BL_OBJECT_TYPE_ARRAY_UINT64">(uint64_t*)get_data()</ValuePointer>
    111         <ValuePointer Condition="get_raw_type() == BL_OBJECT_TYPE_ARRAY_FLOAT32">(float*)get_data()</ValuePointer>
    112         <ValuePointer Condition="get_raw_type() == BL_OBJECT_TYPE_ARRAY_FLOAT64">(double*)get_data()</ValuePointer>
    113       </ArrayItems>
    114     </Expand>
    115   </Type>
    116 
    117   <Type Name="BLArray&lt;*&gt;">
    118     <Intrinsic Name="get_raw_type" Expression="((_d.info.bits &amp; BL_OBJECT_INFO_TYPE_MASK) &gt;&gt; BL_OBJECT_INFO_TYPE_SHIFT)"/>
    119     <Intrinsic Name="sso" Expression="(_d.info.bits &amp; BL_OBJECT_INFO_D_FLAG) == 0"/>
    120     <Intrinsic Name="sso_a_field" Expression="((_d.info.bits &amp; BL_OBJECT_INFO_A_MASK) &gt;&gt; BL_OBJECT_INFO_A_SHIFT)"/>
    121     <Intrinsic Name="sso_b_field" Expression="((_d.info.bits &amp; BL_OBJECT_INFO_B_MASK) &gt;&gt; BL_OBJECT_INFO_B_SHIFT)"/>
    122     <Intrinsic Name="sso_size" Expression="size_t(sso_a_field())"/>
    123     <Intrinsic Name="sso_capacity" Expression="size_t(sso_b_field())"/>
    124 
    125     <Intrinsic Name="get_impl" Expression="((BLArrayImpl*)(_d.impl))"/>
    126     <Intrinsic Name="get_data" Expression="(sso() ? (void*)_d.u8_data : get_impl()-&gt;data)"/>
    127     <Intrinsic Name="get_size" Expression="(sso() ? sso_size() : get_impl()-&gt;size)"/>
    128     <Intrinsic Name="get_capacity" Expression="(sso() ? sso_size() : get_impl()-&gt;capacity)"/>
    129 
    130     <DisplayString>BLArray&lt;&gt; {{ size={get_size(), d} capacity={get_capacity(), d} }}</DisplayString>
    131 
    132     <Expand HideRawView="true">
    133       <Item Name="[detail]" ExcludeView="simple">_d</Item>
    134       <Item Name="[size]" ExcludeView="simple">get_size(), d</Item>
    135       <Item Name="[capacity]" ExcludeView="simple">get_capacity(), d</Item>
    136       <ArrayItems>
    137         <Size>get_size()</Size>
    138         <ValuePointer>($T1 *)get_data()</ValuePointer>
    139       </ArrayItems>
    140     </Expand>
    141   </Type>
    142 
    143   <Type Name="BLStringImpl">
    144     <DisplayString>BLStringImpl</DisplayString>
    145     <Expand HideRawView="true">
    146       <Item Name="[size]" ExcludeView="simple">size, d</Item>
    147       <Item Name="[capacity]" ExcludeView="simple">capacity, d</Item>
    148       <ArrayItems>
    149         <Size>size + 1</Size>
    150         <ValuePointer>(char*)(this + 1)</ValuePointer>
    151       </ArrayItems>
    152     </Expand>
    153   </Type>
    154 
    155   <Type Name="BLStringCore">
    156     <AlternativeType Name="BLString" />
    157 
    158     <Intrinsic Name="sso" Expression="(_d.info.bits &amp; BL_OBJECT_INFO_D_FLAG) == 0"/>
    159     <Intrinsic Name="sso_a_field" Expression="((_d.info.bits &amp; BL_OBJECT_INFO_A_MASK) &gt;&gt; BL_OBJECT_INFO_A_SHIFT)"/>
    160     <Intrinsic Name="sso_size" Expression="size_t(BLString::kSSOCapacity) ^ sso_a_field()"/>
    161     <Intrinsic Name="sso_capacity" Expression="size_t(BLString::kSSOCapacity)"/>
    162 
    163     <Intrinsic Name="get_impl" Expression="((BLStringImpl*)(_d.impl))"/>
    164     <Intrinsic Name="get_data" Expression="(sso() ? _d.char_data : ((char*)(get_impl() + 1)))"/>
    165     <Intrinsic Name="get_size" Expression="(sso() ? sso_size() : get_impl()-&gt;size)"/>
    166     <Intrinsic Name="get_capacity" Expression="(sso() ? sso_size() : get_impl()-&gt;capacity)"/>
    167 
    168     <DisplayString>{get_data(), s8}</DisplayString>
    169 
    170     <Expand HideRawView="true">
    171       <Item Name="[detail]" ExcludeView="simple">_d</Item>
    172       <Item Name="[size]" ExcludeView="simple">get_size(), d</Item>
    173       <Item Name="[capacity]" ExcludeView="simple">get_capacity(), d</Item>
    174       <ArrayItems>
    175         <Size>get_size() + 1</Size>
    176         <ValuePointer>get_data()</ValuePointer>
    177       </ArrayItems>
    178     </Expand>
    179   </Type>
    180 
    181   <Type Name="BLImageImpl">
    182     <DisplayString>BLImageImpl {{ size={size.w}x{size.h} format={(BLFormat)format} }}</DisplayString>
    183   </Type>
    184 
    185   <Type Name="BLImage">
    186     <UIVisualizer ServiceId="{A452AFEA-3DF6-46BB-9177-C0B08F318025}" Id="1" />
    187   </Type>
    188 
    189   <Type Name="BLImageCore">
    190     <UIVisualizer ServiceId="{A452AFEA-3DF6-46BB-9177-C0B08F318025}" Id="1" />
    191   </Type>
    192 
    193   <Type Name="BLImageCore">
    194     <AlternativeType Name="BLImage" />
    195 
    196     <Intrinsic Name="get_impl" Expression="((BLImageImpl*)(_d.impl))"/>
    197 
    198     <DisplayString>BLImage {{ size={get_impl()-&gt;size.w}x{get_impl()-&gt;size.h} format={(BLFormat)get_impl()-&gt;format} }}</DisplayString>
    199 
    200     <Expand HideRawView="true">
    201       <Item Name="[detail]" ExcludeView="simple">_d</Item>
    202       <Item Name="[impl]" ExcludeView="simple">get_impl()</Item>
    203       <Item Name="[width]" ExcludeView="simple">get_impl()-&gt;size.w, d</Item>
    204       <Item Name="[height]" ExcludeView="simple">get_impl()-&gt;size.h, d</Item>
    205       <Item Name="[data]" ExcludeView="simple">(unsigned char*)(get_impl()-&gt;pixel_data)</Item>
    206       <Item Name="[stride]" ExcludeView="simple">get_impl()-&gt;stride, d</Item>
    207       <Item Name="[format]" ExcludeView="simple">(BLFormat)get_impl()-&gt;format, d</Item>
    208       <Item Name="[flags]" ExcludeView="simple">get_impl()-&gt;flags, x</Item>
    209       <Item Name="[reserved]" ExcludeView="simple">get_impl()-&gt;reserved</Item>
    210       <Synthetic Name="[type]">
    211         <DisplayString>UINT8</DisplayString>
    212       </Synthetic>
    213       <Synthetic Name="[channels]">
    214         <DisplayString Condition="get_impl()-&gt;format == 1">BGRA</DisplayString>
    215         <DisplayString Condition="get_impl()-&gt;format == 2">BGRA</DisplayString>
    216         <DisplayString Condition="get_impl()-&gt;format == 3">1</DisplayString>
    217         <DisplayString Condition="get_impl()-&gt;format >= 4 || get_impl()-&gt;format == 0">0</DisplayString>
    218       </Synthetic>
    219     </Expand>
    220   </Type>
    221 
    222   <Type Name="BLImageData">
    223     <UIVisualizer ServiceId="{A452AFEA-3DF6-46BB-9177-C0B08F318025}" Id="1" />
    224   </Type>
    225 
    226   <Type Name="BLImageData">
    227     <DisplayString>ImageData {{ size={size.w}x{size.h} format={(BLFormat)format} }}</DisplayString>
    228     <Expand HideRawView="true">
    229       <Item Name="[width]">size.w</Item>
    230       <Item Name="[height]">size.h</Item>
    231       <Item Name="[data]">(unsigned char*)(pixel_data)</Item>
    232       <Item Name="[stride]">stride</Item>
    233       <Item Name="[format]">(BLFormat)format</Item>
    234       <Item Name="[flags]">flags, x</Item>
    235       <Synthetic Name="[type]">
    236         <DisplayString>UINT8</DisplayString>
    237       </Synthetic>
    238       <Synthetic Name="[channels]">
    239         <DisplayString Condition="format == 1">BGRA</DisplayString>
    240         <DisplayString Condition="format == 2">BGRA</DisplayString>
    241         <DisplayString Condition="format == 3">1</DisplayString>
    242         <DisplayString Condition="format >= 4 || format == 0">0</DisplayString>
    243       </Synthetic>
    244     </Expand>
    245   </Type>
    246 
    247   <Type Name="BLImageCodecImpl">
    248     <DisplayString>BLImageCodecImpl</DisplayString>
    249   </Type>
    250 
    251   <Type Name="BLImageCodecCore">
    252     <AlternativeType Name="BLImageCodec" />
    253 
    254     <Intrinsic Name="get_impl" Expression="((BLImageCodecImpl*)(_d.impl))"/>
    255 
    256     <DisplayString>BLImageCodec {{ name={get_impl()-&gt;name, s8} }}</DisplayString>
    257 
    258     <Expand HideRawView="true">
    259       <Item Name="[detail]" ExcludeView="simple">_d</Item>
    260       <Item Name="[impl]" ExcludeView="simple">get_impl()</Item>
    261       <Item Name="[name]" ExcludeView="simple">get_impl()-&gt;name</Item>
    262       <Item Name="[venor]" ExcludeView="simple">get_impl()-&gt;vendor</Item>
    263       <Item Name="[mime_type]" ExcludeView="simple">get_impl()-&gt;mime_type</Item>
    264       <Item Name="[extensions]" ExcludeView="simple">get_impl()-&gt;extensions</Item>
    265       <Item Name="[features]" ExcludeView="simple">get_impl()-&gt;features, x</Item>
    266     </Expand>
    267   </Type>
    268 
    269   <Type Name="BLImageDecoderImpl">
    270     <DisplayString>BLImageDecoderImpl</DisplayString>
    271   </Type>
    272 
    273   <Type Name="BLImageDecoderCore">
    274     <AlternativeType Name="BLImageDecoder" />
    275 
    276     <Intrinsic Name="get_impl" Expression="((BLImageDecoderImpl*)(_d.impl))"/>
    277 
    278     <DisplayString>ImageDecoder {{ name={impl-&gt;name, s8} }}</DisplayString>
    279 
    280     <Expand HideRawView="true">
    281       <Item Name="[detail]" ExcludeView="simple">_d</Item>
    282       <Item Name="[impl]" ExcludeView="simple">get_impl()</Item>
    283       <Item Name="[codec]" ExcludeView="simple">get_impl()-&gt;codec</Item>
    284       <Item Name="[last_result]" ExcludeView="simple">get_impl()-&gt;last_result, x</Item>
    285       <Item Name="[handle]" ExcludeView="simple">get_impl()-&gt;handle</Item>
    286       <Item Name="[frame_index]" ExcludeView="simple">get_impl()-&gt;frame_index, d</Item>
    287       <Item Name="[buffer_index]" ExcludeView="simple">get_impl()-&gt;buffer_index, d</Item>
    288     </Expand>
    289   </Type>
    290 
    291   <Type Name="BLImageEncoderImpl">
    292     <DisplayString>BLImageEncoderImpl</DisplayString>
    293   </Type>
    294 
    295   <Type Name="BLImageEncoderCore">
    296     <AlternativeType Name="BLImageEncoder" />
    297 
    298     <Intrinsic Name="get_impl" Expression="((BLImageEncoderImpl*)(_d.impl))"/>
    299 
    300     <DisplayString>ImageEncoder {{ name={impl-&gt;name, s8} }}</DisplayString>
    301 
    302     <Expand HideRawView="true">
    303       <Item Name="[detail]" ExcludeView="simple">_d</Item>
    304       <Item Name="[impl]" ExcludeView="simple">get_impl()</Item>
    305       <Item Name="[codec]" ExcludeView="simple">get_impl()-&gt;codec</Item>
    306       <Item Name="[last_result]" ExcludeView="simple">get_impl()-&gt;last_result, x</Item>
    307       <Item Name="[handle]" ExcludeView="simple">get_impl()-&gt;handle</Item>
    308       <Item Name="[frame_index]" ExcludeView="simple">get_impl()-&gt;frame_index, d</Item>
    309       <Item Name="[buffer_index]" ExcludeView="simple">get_impl()-&gt;buffer_index, d</Item>
    310     </Expand>
    311   </Type>
    312 
    313   <Type Name="BLPathImpl">
    314     <DisplayString>BLPathImpl</DisplayString>
    315     <Expand HideRawView="true">
    316       <Item Name="[size]" ExcludeView="simple">size, d</Item>
    317       <Item Name="[capacity]" ExcludeView="simple">capacity, d</Item>
    318       <Item Name="[flags]" ExcludeView="simple">flags, x</Item>
    319       <Synthetic Name="[command_data]">
    320         <Expand>
    321           <IndexListItems>
    322             <Size>size</Size>
    323             <ValueNode>command_data[$i]</ValueNode>
    324           </IndexListItems>
    325         </Expand>
    326       </Synthetic>
    327       <Synthetic Name="[vertex_data]">
    328         <Expand>
    329           <ArrayItems>
    330             <Size>size</Size>
    331             <ValuePointer>vertex_data</ValuePointer>
    332           </ArrayItems>
    333         </Expand>
    334       </Synthetic>
    335     </Expand>
    336   </Type>
    337 
    338   <Type Name="BLPathCore">
    339     <AlternativeType Name="BLPath" />
    340 
    341     <Intrinsic Name="get_impl" Expression="((BLPathImpl*)(_d.impl))"/>
    342     <Intrinsic Name="get_command_data" Expression="get_impl()-&gt;command_data"/>
    343     <Intrinsic Name="get_vertex_data" Expression="get_impl()-&gt;vertex_data"/>
    344     <Intrinsic Name="get_size" Expression="get_impl()-&gt;size"/>
    345     <Intrinsic Name="get_capacity" Expression="get_impl()-&gt;capacity"/>
    346 
    347     <DisplayString>BLPath {{ size={get_size(), d} capacity={get_capacity(), d} }}</DisplayString>
    348     <Expand HideRawView="true">
    349       <Item Name="[detail]" ExcludeView="simple">_d</Item>
    350       <Item Name="[impl]" ExcludeView="simple">get_impl()</Item>
    351       <Item Name="[size]" ExcludeView="simple">get_size(), d</Item>
    352       <Item Name="[capacity]" ExcludeView="simple">get_capacity(), d</Item>
    353       <Synthetic Name="command_data">
    354         <Expand>
    355           <IndexListItems>
    356             <Size>get_size()</Size>
    357             <ValueNode>((get_command_data())[$i])</ValueNode>
    358           </IndexListItems>
    359         </Expand>
    360       </Synthetic>
    361       <Synthetic Name="vertex_data">
    362         <Expand>
    363           <ArrayItems>
    364             <Size>get_size()</Size>
    365             <ValuePointer>get_vertex_data()</ValuePointer>
    366           </ArrayItems>
    367         </Expand>
    368       </Synthetic>
    369     </Expand>
    370   </Type>
    371 
    372   <Type Name="BLStrokeOptionsCore">
    373     <AlternativeType Name="BLStrokeOptions" />
    374 
    375     <Expand HideRawView="true">
    376       <Item Name="[start_cap]">(BLStrokeCap)start_cap</Item>
    377       <Item Name="[end_cap]">(BLStrokeCap)end_cap</Item>
    378       <Item Name="[join]">(BLStrokeJoin)join</Item>
    379       <Item Name="[transform_order]">(BLStrokeTransformOrder)transform_order</Item>
    380       <Item Name="[reserved]">reserved</Item>
    381       <Item Name="[width]">width</Item>
    382       <Item Name="[miter_limit]">miter_limit</Item>
    383       <Item Name="[dash_offset]">dash_offset</Item>
    384       <Item Name="[dash_array]">dash_array</Item>
    385     </Expand>
    386   </Type>
    387 
    388   <Type Name="BLGradientImpl">
    389     <DisplayString>BLGradientImpl</DisplayString>
    390   </Type>
    391 
    392   <Type Name="BLGradientCore">
    393     <AlternativeType Name="BLGradient" />
    394 
    395     <Intrinsic Name="sso_a_field" Expression="((_d.info.bits &amp; BL_OBJECT_INFO_A_MASK) &gt;&gt; BL_OBJECT_INFO_A_SHIFT)"/>
    396     <Intrinsic Name="sso_b_field" Expression="((_d.info.bits &amp; BL_OBJECT_INFO_B_MASK) &gt;&gt; BL_OBJECT_INFO_B_SHIFT)"/>
    397     <Intrinsic Name="sso_c_field" Expression="((_d.info.bits &amp; BL_OBJECT_INFO_C_MASK) &gt;&gt; BL_OBJECT_INFO_C_SHIFT)"/>
    398 
    399     <Intrinsic Name="get_impl" Expression="((BLGradientImpl*)(_d.impl))"/>
    400 
    401     <DisplayString>BLGradient {{ size={get_impl()-&gt;size, d} capacity={get_impl()-&gt;capacity, d} }}</DisplayString>
    402 
    403     <Expand HideRawView="true">
    404       <Item Name="[detail]" ExcludeView="simple">_d</Item>
    405       <Item Name="[impl]" ExcludeView="simple">get_impl()</Item>
    406       <Item Name="[gradient_type]" ExcludeView="simple">(BLGradientType)sso_a_field()</Item>
    407       <Item Name="[extend_mode]" ExcludeView="simple">(BLExtendMode)sso_b_field()</Item>
    408       <Item Name="[transform_type]" ExcludeView="simple">(BLTransformType)sso_c_field()</Item>
    409       <Item Name="[transform]" ExcludeView="simple">get_impl()-&gt;transform</Item>
    410       <Item Name="[values]" ExcludeView="simple">get_impl()-&gt;values</Item>
    411       <Item Name="[linear]" ExcludeView="simple" Condition="get_impl()-&gt;gradient_type == BL_GRADIENT_TYPE_LINEAR">get_impl()-&gt;linear</Item>
    412       <Item Name="[radial]" ExcludeView="simple" Condition="get_impl()-&gt;gradient_type == BL_GRADIENT_TYPE_RADIAL">get_impl()-&gt;radial</Item>
    413       <Item Name="[conic]" ExcludeView="simple" Condition="get_impl()-&gt;gradient_type == BL_GRADIENT_TYPE_CONIC">get_impl()-&gt;conic</Item>
    414       <Item Name="[size]" ExcludeView="simple">get_impl()-&gt;size, d</Item>
    415       <Item Name="[capacity]" ExcludeView="simple">get_impl()-&gt;capacity, d</Item>
    416       <Synthetic Name="[stops]">
    417         <Expand>
    418           <IndexListItems>
    419             <Size>get_impl()-&gt;size</Size>
    420             <ValueNode>get_impl()-&gt;stops</ValueNode>
    421           </IndexListItems>
    422         </Expand>
    423       </Synthetic>
    424     </Expand>
    425   </Type>
    426 
    427   <Type Name="BLPatternImpl">
    428     <DisplayString>BLPatternImpl</DisplayString>
    429   </Type>
    430 
    431   <Type Name="BLPatternCore">
    432     <AlternativeType Name="BLPattern" />
    433 
    434     <Intrinsic Name="sso_a_field" Expression="((_d.info.bits &amp; BL_OBJECT_INFO_A_MASK) &gt;&gt; BL_OBJECT_INFO_A_SHIFT)"/>
    435     <Intrinsic Name="sso_b_field" Expression="((_d.info.bits &amp; BL_OBJECT_INFO_B_MASK) &gt;&gt; BL_OBJECT_INFO_B_SHIFT)"/>
    436     <Intrinsic Name="sso_c_field" Expression="((_d.info.bits &amp; BL_OBJECT_INFO_C_MASK) &gt;&gt; BL_OBJECT_INFO_C_SHIFT)"/>
    437 
    438     <Intrinsic Name="get_impl" Expression="((BLPatternImpl*)(_d.impl))"/>
    439 
    440     <DisplayString>BLPattern {{ area=[{get_impl()-&gt;area.x, d}, {get_impl()-&gt;area.y, d}, {get_impl()-&gt;area.w, d}, {get_impl()-&gt;area.h, d}] }}</DisplayString>
    441     <Expand HideRawView="true">
    442       <Item Name="[detail]" ExcludeView="simple">_d</Item>
    443       <Item Name="[impl]" ExcludeView="simple">get_impl()</Item>
    444       <Item Name="[extend_mode]" ExcludeView="simple">(BLExtendMode)sso_b_field()</Item>
    445       <Item Name="[transform_type]" ExcludeView="simple">(BLTransformType)sso_c_field()</Item>
    446       <Item Name="[image]" ExcludeView="simple">get_impl()-&gt;image</Item>
    447       <Item Name="[area]" ExcludeView="simple">get_impl()-&gt;area</Item>
    448       <Item Name="[transform]" ExcludeView="simple">get_impl()-&gt;transform</Item>
    449     </Expand>
    450   </Type>
    451 
    452   <Type Name="BLFontFaceImpl">
    453     <DisplayString>BLFontFaceImpl</DisplayString>
    454   </Type>
    455 
    456   <Type Name="BLFontFaceCore">
    457     <AlternativeType Name="BLFontFace" />
    458 
    459     <Intrinsic Name="get_impl" Expression="((BLFontFaceImpl*)(_d.impl))"/>
    460 
    461     <DisplayString>BLFontFace {{ full_name={get_impl()-&gt;full_name} }}</DisplayString>
    462 
    463     <Expand HideRawView="true">
    464       <Item Name="[detail]" ExcludeView="simple">_d</Item>
    465       <Item Name="[impl]" ExcludeView="simple">get_impl()</Item>
    466     </Expand>
    467   </Type>
    468 
    469   <Type Name="BLFontDataImpl">
    470     <DisplayString>BLFontDataImpl</DisplayString>
    471   </Type>
    472 
    473   <Type Name="BLFontDataCore">
    474     <AlternativeType Name="BLFontData" />
    475 
    476     <Intrinsic Name="get_impl" Expression="((BLFontDataImpl*)(_d.impl))"/>
    477 
    478     <DisplayString>BLFontData</DisplayString>
    479 
    480     <Expand HideRawView="true">
    481       <Item Name="[detail]" ExcludeView="simple">_d</Item>
    482       <Item Name="[impl]" ExcludeView="simple">get_impl()</Item>
    483     </Expand>
    484   </Type>
    485 
    486   <Type Name="BLFontImpl">
    487     <DisplayString>BLFontImpl</DisplayString>
    488   </Type>
    489 
    490   <Type Name="BLFontCore">
    491     <AlternativeType Name="BLFont" />
    492 
    493     <Intrinsic Name="get_impl" Expression="((BLFontImpl*)(_d.impl))"/>
    494 
    495     <DisplayString>BLFont {{ face={((BLFontFaceImpl*)(get_impl()-&gt;face._d.impl))-&gt;full_name} size={get_impl()-&gt;metrics.size} }}</DisplayString>
    496     <Expand HideRawView="true">
    497       <Item Name="[detail]" ExcludeView="simple">_d</Item>
    498       <Item Name="[impl]" ExcludeView="simple">get_impl()</Item>
    499     </Expand>
    500   </Type>
    501 
    502   <!--
    503   <Type Name="BLFontManagerImpl">
    504     <DisplayString>BLFontManagerImpl</DisplayString>
    505   </Type>
    506 
    507   <Type Name="BLFontManagerCore">
    508     <AlternativeType Name="BLFontManager" />
    509 
    510     <Intrinsic Name="get_impl" Expression="((BLFontManagerImpl*)(_d.impl))"/>
    511 
    512     <DisplayString>BLFontManager</DisplayString>
    513 
    514     <Expand HideRawView="true">
    515       <Item Name="[detail]" ExcludeView="simple">_d</Item>
    516       <Item Name="[impl]" ExcludeView="simple">get_impl()</Item>
    517     </Expand>
    518   </Type>
    519   -->
    520 
    521   <Type Name="BLGlyphBufferImpl">
    522     <DisplayString>BLGlyphBufferImpl</DisplayString>
    523   </Type>
    524 
    525   <Type Name="BLGlyphBufferCore">
    526     <AlternativeType Name="BLGlyphBuffer" />
    527 
    528     <Intrinsic Name="get_impl" Expression="(impl)"/>
    529     <Intrinsic Name="has_text" Expression="(get_impl()-&gt;flags &amp; 0x10000000) != 0 &amp;&amp; get_impl()-&gt;size != 0" />
    530     <Intrinsic Name="has_glyphs" Expression="(get_impl()-&gt;flags &amp; 0x10000000) == 0 &amp;&amp; get_impl()-&gt;size != 0" />
    531 
    532     <DisplayString>BLGlyphBuffer {{ size={get_impl()-&gt;size, d} }}</DisplayString>
    533 
    534     <Expand HideRawView="true">
    535       <Item Name="[impl]" ExcludeView="simple">get_impl()</Item>
    536       <Item Name="[size]" ExcludeView="simple">get_impl()-&gt;size, d</Item>
    537       <Item Name="[flags]" ExcludeView="simple">get_impl()-&gt;flags, x</Item>
    538 
    539       <Synthetic Name="[text]" Condition="has_text()">
    540         <DisplayString>{get_impl()-&gt;content, [get_impl()-&gt;size]s32}</DisplayString>
    541         <Expand>
    542           <IndexListItems>
    543             <Size>get_impl()-&gt;size</Size>
    544             <ValueNode>get_impl()-&gt;content[$i]</ValueNode>
    545           </IndexListItems>
    546         </Expand>
    547       </Synthetic>
    548 
    549       <Synthetic Name="[glyphs]" Condition="has_glyphs()">
    550         <Expand>
    551           <IndexListItems>
    552             <Size>get_impl()-&gt;size</Size>
    553             <ValueNode>get_impl()-&gt;content</ValueNode>
    554           </IndexListItems>
    555         </Expand>
    556       </Synthetic>
    557 
    558       <Synthetic Name="[info_data]" Condition="get_impl()-&gt;info_data != 0">
    559         <DisplayString>{get_impl()-&gt;info_data}</DisplayString>
    560         <Expand>
    561           <ArrayItems>
    562             <Size>get_impl()-&gt;size</Size>
    563             <ValuePointer>get_impl()-&gt;placement_data</ValuePointer>
    564           </ArrayItems>
    565         </Expand>
    566       </Synthetic>
    567 
    568       <Synthetic Name="[placement_data]" Condition="get_impl()-&gt;placement_data != 0">
    569         <DisplayString>{get_impl()-&gt;placement_data}</DisplayString>
    570         <Expand>
    571           <ArrayItems>
    572             <Size>get_impl()-&gt;size</Size>
    573             <ValuePointer>get_impl()-&gt;placement_data</ValuePointer>
    574           </ArrayItems>
    575         </Expand>
    576       </Synthetic>
    577 
    578       <Item Name="[glyph_run]" ExcludeView="simple">get_impl()-&gt;glyph_run</Item>
    579 
    580     </Expand>
    581   </Type>
    582 
    583   <Type Name="BLGlyphRun">
    584     <DisplayString>BLGlyphRun {{ size={size, d} }}</DisplayString>
    585     <Expand HideRawView="true">
    586       <!-- glyph_data is either uint16_t or uint32_t - show just void* when not initialized -->
    587       <Synthetic Name="[glyph_data]">
    588         <DisplayString>{glyph_data}</DisplayString>
    589         <Expand>
    590           <IndexListItems>
    591             <Size>size</Size>
    592             <ValueNode>*((uint32_t*)( (char*)glyph_data + ($i * glyph_advance) ))</ValueNode>
    593           </IndexListItems>
    594         </Expand>
    595       </Synthetic>
    596       <Item Name="[placement_data]" Condition="placement_type == 0">placement_data</Item>
    597       <Synthetic Name="[placement_data]" Condition="placement_type != 0">
    598         <DisplayString>{placement_data}</DisplayString>
    599         <Expand>
    600           <IndexListItems Condition="placement_type == 1">
    601             <Size>size</Size>
    602             <ValueNode>*((BLGlyphPlacement*)( (char*)placement_data + ($i * placement_advance) ))</ValueNode>
    603           </IndexListItems>
    604           <IndexListItems Condition="placement_type != 1">
    605             <Size>size</Size>
    606             <ValueNode>*((BLPoint*)( (char*)placement_data + ($i * placement_advance) ))</ValueNode>
    607           </IndexListItems>
    608         </Expand>
    609       </Synthetic>
    610       <Item Name="[size]" ExcludeView="simple">size, d</Item>
    611       <Item Name="[glyph_advance]" ExcludeView="simple">glyph_advance, d</Item>
    612       <Item Name="[placement_type]" ExcludeView="simple">placement_type, d</Item>
    613       <Item Name="[placement_advance]" ExcludeView="simple">placement_advance, d</Item>
    614       <Item Name="[flags]" ExcludeView="simple">flags, x</Item>
    615     </Expand>
    616   </Type>
    617 
    618   <Type Name="BLContextHints">
    619     <Expand HideRawView="true">
    620       <Item Name="[rendering_quality]" ExcludeView="simple">(BLRenderingQuality)rendering_quality</Item>
    621       <Item Name="[gradient_quality]" ExcludeView="simple">(BLGradientQuality)gradient_quality</Item>
    622       <Item Name="[pattern_quality]" ExcludeView="simple">(BLPatternQuality)pattern_quality</Item>
    623       <Item Name="[hints]" ExcludeView="simple">hints</Item>
    624     </Expand>
    625   </Type>
    626 
    627   <Type Name="BLContextState">
    628     <Expand HideRawView="true">
    629       <Item Name="[hints]">hints</Item>
    630       <Item Name="[comp_op]">(BLCompOp)comp_op</Item>
    631       <Item Name="[global_alpha]">global_alpha</Item>
    632 
    633       <Item Name="[style_type]">style_type</Item>
    634       <Item Name="[style_alpha]">style_alpha</Item>
    635 
    636       <Item Name="[fill_rule]">(BLFillRule)fill_rule</Item>
    637       <Item Name="[fill_type]">(BLObjectType)style_type[0]</Item>
    638       <Item Name="[fill_alpha]">style_alpha[0]</Item>
    639 
    640       <Item Name="[stroke_type]">(BLObjectType)style_type[1]</Item>
    641       <Item Name="[stroke_alpha]">style_alpha[1]</Item>
    642       <Item Name="[stroke_options]">stroke_options</Item>
    643       <Item Name="[approximation_options]">approximation_options</Item>
    644 
    645       <Item Name="[meta_transform]">meta_transform</Item>
    646       <Item Name="[user_transform]">user_transform</Item>
    647 
    648       <Item Name="[saved_state_count]">saved_state_count, d</Item>
    649     </Expand>
    650   </Type>
    651 
    652   <Type Name="BLContextImpl">
    653     <DisplayString>BLContextImpl</DisplayString>
    654   </Type>
    655 
    656   <Type Name="BLContextCore">
    657     <AlternativeType Name="BLContext" />
    658 
    659     <Intrinsic Name="get_impl" Expression="((BLContextImpl*)(_d.impl))"/>
    660 
    661     <DisplayString>BLContext {{ context_type={(BLContextType)get_impl()-&gt;context_type} }} </DisplayString>
    662 
    663     <Expand HideRawView="true">
    664       <Item Name="[detail]" ExcludeView="simple">_d</Item>
    665       <Item Name="[impl]" ExcludeView="simple">get_impl()</Item>
    666       <Item Name="[state]" ExcludeView="simple">get_impl()-&gt;state</Item>
    667       <Item Name="[context_type]" ExcludeView="simple">(BLContextType)get_impl()-&gt;context_type</Item>
    668     </Expand>
    669   </Type>
    670 
    671   <Type Name="BLObjectCore">
    672     <AlternativeType Name="BLVar" />
    673     <AlternativeType Name="BLVarCore" />
    674 
    675     <Intrinsic Name="get_type" Expression="(_d.info.bits &amp; 0x80000000) != 0 ? (((_d.info.bits &amp; BL_OBJECT_INFO_TYPE_MASK) &gt;&gt; BL_OBJECT_INFO_TYPE_SHIFT) &lt;= 128 ? ((_d.info.bits &amp; BL_OBJECT_INFO_TYPE_MASK) &gt;&gt; BL_OBJECT_INFO_TYPE_SHIFT) : 128) : 0"/>
    676 
    677     <DisplayString Condition="get_type() == __BL_OBJECT_TYPE_RGBA()">{(BLRgba*)this}</DisplayString>
    678     <DisplayString Condition="get_type() == BL_OBJECT_TYPE_RGBA32">{_d.u32_data[0]}</DisplayString>
    679     <DisplayString Condition="get_type() == BL_OBJECT_TYPE_RGBA64">{_d.u64_data[1]}</DisplayString>
    680     <DisplayString Condition="get_type() == BL_OBJECT_TYPE_NULL">Null</DisplayString>
    681     <DisplayString Condition="get_type() == BL_OBJECT_TYPE_PATTERN">{(BLPatternCore*)this}</DisplayString>
    682     <DisplayString Condition="get_type() == BL_OBJECT_TYPE_GRADIENT">{(BLGradientCore*)this}</DisplayString>
    683     <DisplayString Condition="get_type() == BL_OBJECT_TYPE_IMAGE">{(BLImageCore*)this}</DisplayString>
    684     <DisplayString Condition="get_type() == BL_OBJECT_TYPE_PATH">{(BLPathCore*)this}</DisplayString>
    685     <DisplayString Condition="get_type() == BL_OBJECT_TYPE_FONT">{(BLFontCore*)this}</DisplayString>
    686     <DisplayString Condition="get_type() == BL_OBJECT_TYPE_BOOL">{(bool)_d.u64_data[0]}</DisplayString>
    687     <DisplayString Condition="get_type() == BL_OBJECT_TYPE_INT64">{_d.i64_data[0]}</DisplayString>
    688     <DisplayString Condition="get_type() == BL_OBJECT_TYPE_UINT64">{_d.u64_data[0]}</DisplayString>
    689     <DisplayString Condition="get_type() == BL_OBJECT_TYPE_DOUBLE">{_d.f64_data[0]}</DisplayString>
    690     <DisplayString Condition="get_type() == BL_OBJECT_TYPE_STRING">{(BLStringCore*)this}</DisplayString>
    691     <DisplayString Condition="get_type() &gt;= BL_OBJECT_TYPE_ARRAY_OBJECT &amp;&amp; get_type() &lt;= BL_OBJECT_TYPE_ARRAY_STRUCT_32">{(BLArrayCore*)this}</DisplayString>
    692     <DisplayString Condition="get_type() == BL_OBJECT_TYPE_CONTEXT">{(BLContextCore*)this}</DisplayString>
    693     <DisplayString Condition="get_type() == BL_OBJECT_TYPE_IMAGE_CODEC">{(BLImageCodecCore*)this}</DisplayString>
    694     <DisplayString Condition="get_type() == BL_OBJECT_TYPE_IMAGE_DECODER">{(BLImageDecoderCore*)this}</DisplayString>
    695     <DisplayString Condition="get_type() == BL_OBJECT_TYPE_IMAGE_ENCODER">{(BLImageEncoderCore*)this}</DisplayString>
    696     <DisplayString Condition="get_type() == BL_OBJECT_TYPE_FONT_FACE">{(BLFontFaceCore*)this}</DisplayString>
    697     <DisplayString Condition="get_type() == BL_OBJECT_TYPE_FONT_DATA">{(BLFontDataCore*)this}</DisplayString>
    698     <!-- <DisplayString Condition="get_type() == BL_OBJECT_TYPE_FONT_MANAGER">{(BLFontManagerCore*)this}</DisplayString> -->
    699     <!-- <DisplayString Condition="get_type() == BL_OBJECT_TYPE_BIT_SET">{(BLBitSetCore*)this}</DisplayString> -->
    700 
    701     <Expand HideRawView="true">
    702       <ExpandedItem Condition="get_type() == __BL_OBJECT_TYPE_RGBA()">(BLRgba*)this</ExpandedItem>
    703       <ExpandedItem Condition="get_type() == BL_OBJECT_TYPE_RGBA32">{_d.u32_data[0]}</DisplayString>
    704       <ExpandedItem Condition="get_type() == BL_OBJECT_TYPE_RGBA64">{_d.u64_data[1]}</DisplayString>
    705       <ExpandedItem Condition="get_type() == BL_OBJECT_TYPE_PATTERN">(BLPatternCore*)this</ExpandedItem>
    706       <ExpandedItem Condition="get_type() == BL_OBJECT_TYPE_GRADIENT">(BLGradientCore*)this</ExpandedItem>
    707       <ExpandedItem Condition="get_type() == BL_OBJECT_TYPE_IMAGE">(BLImageCore*)this</ExpandedItem>
    708       <ExpandedItem Condition="get_type() == BL_OBJECT_TYPE_PATH">(BLPathCore*)this</ExpandedItem>
    709       <ExpandedItem Condition="get_type() == BL_OBJECT_TYPE_FONT">(BLFontCore*)this</ExpandedItem>
    710       <ExpandedItem Condition="get_type() == BL_OBJECT_TYPE_BOOL">(bool)_d.u64_data[0]</ExpandedItem>
    711       <ExpandedItem Condition="get_type() == BL_OBJECT_TYPE_INT64">_d.i64_data[0]</ExpandedItem>
    712       <ExpandedItem Condition="get_type() == BL_OBJECT_TYPE_UINT64">_d.u64_data[0]</ExpandedItem>
    713       <ExpandedItem Condition="get_type() == BL_OBJECT_TYPE_DOUBLE">_d.f64_data[0]</ExpandedItem>
    714       <ExpandedItem Condition="get_type() == BL_OBJECT_TYPE_STRING">(BLStringCore*)this</ExpandedItem>
    715       <ExpandedItem Condition="get_type() &gt;= BL_OBJECT_TYPE_ARRAY_OBJECT &amp;&amp; get_type() &lt;= BL_OBJECT_TYPE_ARRAY_STRUCT_32">(BLArrayCore*)this</ExpandedItem>
    716       <ExpandedItem Condition="get_type() == BL_OBJECT_TYPE_CONTEXT">(BLContextCore*)this</ExpandedItem>
    717       <ExpandedItem Condition="get_type() == BL_OBJECT_TYPE_IMAGE_CODEC">(BLImageCodecCore*)this</ExpandedItem>
    718       <ExpandedItem Condition="get_type() == BL_OBJECT_TYPE_IMAGE_DECODER">(BLImageDecoderCore*)this</ExpandedItem>
    719       <ExpandedItem Condition="get_type() == BL_OBJECT_TYPE_IMAGE_ENCODER">(BLImageEncoderCore*)this</ExpandedItem>
    720       <ExpandedItem Condition="get_type() == BL_OBJECT_TYPE_FONT_FACE">(BLFontFaceCore*)this</ExpandedItem>
    721       <ExpandedItem Condition="get_type() == BL_OBJECT_TYPE_FONT_DATA">(BLFontDataCore*)this</ExpandedItem>
    722       <!-- <ExpandedItem Condition="get_type() == BL_OBJECT_TYPE_FONT_MANAGER">(BLFontManagerCore*)this</ExpandedItem> -->
    723       <!-- <ExpandedItem Condition="get_type() == BL_OBJECT_TYPE_BIT_SET">(BLBitSetCore*)this</ExpandedItem> -->
    724     </Expand>
    725   </Type>
    726 
    727   <!-- Internals -->
    728 
    729   <Type Name="bl::Wrap&lt;*&gt;">
    730     <Expand HideRawView="true">
    731       <ExpandedItem>*(($T1*)_data)</ExpandedItem>
    732     </Expand>
    733   </Type>
    734 </AutoVisualizer>