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;
else
GdipDeleteBrush((GpBrush *)gradient);
break;
- }