in utils/SkiaSharpGenerator/BaseTool.cs [300:331]
protected string CleanEnumFieldName(string fieldName, string cppEnumName)
{
if (cppEnumName.EndsWith("_t"))
cppEnumName = cppEnumName[..^2];
fieldName = RemovePrefixSuffix(fieldName, cppEnumName);
// special case for "flags" name and "flag" member
if (cppEnumName.EndsWith("_flags"))
fieldName = RemovePrefixSuffix(fieldName, cppEnumName[..^1]);
// special case for bad skia enum fields
var lower = fieldName.ToLowerInvariant();
var indexOfSplitter = lower.IndexOf("_sk_");
if (indexOfSplitter == -1)
indexOfSplitter = lower.IndexOf("_gr_");
if (indexOfSplitter != -1)
fieldName = fieldName[0..indexOfSplitter];
return CleanName(fieldName);
static string RemovePrefixSuffix(string member, string type)
{
if (member.ToLowerInvariant().EndsWith("_" + type.ToLowerInvariant()))
member = member[..^(type.Length + 1)];
if (member.ToLowerInvariant().StartsWith(type.ToLowerInvariant() + "_"))
member = member[(type.Length + 1)..];
return member;
}
}