Nikolay Sivov nsivov@codeweavers.com wrote:
status = GdipCreateLineBrush(&startpoint, &endpoint, data->BrushData.lineargradient.StartColor,data->BrushData.lineargradient.EndColor, data->BrushData.lineargradient.WrapMode, &gradient);if (status == Ok && transform)status = GdipSetLineTransform(gradient, (const GpMatrix *)transform);
Result of the above calls is ignored.
if (brushflags & BrushDataPresetColors)status = GdipSetLinePresetBlend(gradient, (ARGB *)(record_data + offset + position_count * sizeof(REAL)),(REAL *)(record_data + offset), position_count);else if (brushflags & BrushDataBlendFactorsH)status = GdipSetLineBlend(gradient, (REAL *)(record_data + offset + position_count * sizeof(REAL)),(REAL *)(record_data + offset), position_count);if (brushflags & BrushDataIsGammaCorrected)FIXME("BrushDataIsGammaCorrected is not handled.\n");if (status == Ok)*brush = (GpBrush *)gradient;elseGdipDeleteBrush((GpBrush *)gradient);break;- }