in utils/SkiaSharpGenerator/BaseTool.cs [194:223]
protected string GetType(CppType type)
{
var typeName = GetCppType(type);
// split the type from the pointers
var pointerIndex = typeName.IndexOf("*");
var pointers = pointerIndex == -1 ? "" : typeName.Substring(pointerIndex);
var noPointers = pointerIndex == -1 ? typeName : typeName.Substring(0, pointerIndex);
if (skiaTypes.TryGetValue(noPointers, out var isStruct))
{
if (!isStruct)
return noPointers + pointers.Substring(1);
if (typeMappings.TryGetValue(noPointers, out var map))
return (map.CsType ?? CleanName(noPointers)) + pointers;
}
else
{
if (typeMappings.TryGetValue(typeName, out var map))
return map.CsType ?? CleanName(typeName);
if (typeMappings.TryGetValue(noPointers, out map))
return (map.CsType ?? CleanName(noPointers)) + pointers;
if (functionMappings.TryGetValue(typeName, out var funcMap))
return funcMap.CsType ?? CleanName(typeName);
if (functionMappings.TryGetValue(noPointers, out funcMap))
return (funcMap.CsType ?? CleanName(noPointers)) + pointers;
}
return CleanName(typeName);
}