/// <inheritdoc/> protected override void WriteCanvasGeometryTransformedGeometryFactory(CodeBuilder builder, CanvasGeometry.TransformedGeometry obj, string typeName, string fieldName) { builder.WriteLine($"{typeName} result;"); builder.WriteLine("ID2D1Geometry *geoA = nullptr;"); builder.WriteLine("ID2D1TransformedGeometry *transformed;"); builder.WriteLine($"D2D1_MATRIX_3X2_F transformMatrix{_stringifier.Matrix3x2(obj.TransformMatrix)};"); builder.WriteLine(); builder.WriteLine($"{CallFactoryFor(obj.SourceGeometry)}->GetGeometry(&geoA);"); builder.WriteLine("FFHR(_d2dFactory->CreateTransformedGeometry(geoA, transformMatrix, &transformed));"); builder.WriteLine("geoA->Release();"); builder.WriteLine($"result = {FieldAssignment(fieldName)}new GeoSource(transformed);"); }
/// <inheritdoc/> protected override void WriteCanvasGeometryTransformedGeometryFactory(CodeBuilder builder, CanvasGeometry.TransformedGeometry obj, string typeName, string fieldName) { builder.WriteLine($"var result = {FieldAssignment(fieldName)}{CallFactoryFor(obj.SourceGeometry)}.Transform({_stringifier.Matrix3x2(obj.TransformMatrix)});"); }