Nikolay Sivov <nsivov(a)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; + }
-- Dmitry.