gdiplus: Added GdipGetPathGradientPointCount.
This commit is contained in:
parent
cf8b59ef81
commit
490ca1cabb
|
@ -60,12 +60,27 @@ GpStatus WINGDIPAPI GdipCreatePathGradientFromPath(GDIPCONST GpPath* path,
|
|||
*grad = GdipAlloc(sizeof(GpPathGradient));
|
||||
if (!*grad) return OutOfMemory;
|
||||
|
||||
(*grad)->pathdata.Count = path->pathdata.Count;
|
||||
(*grad)->pathdata.Points = GdipAlloc(path->pathdata.Count * sizeof(PointF));
|
||||
(*grad)->pathdata.Types = GdipAlloc(path->pathdata.Count);
|
||||
|
||||
if(!(*grad)->pathdata.Points || !(*grad)->pathdata.Types){
|
||||
GdipFree((*grad)->pathdata.Points);
|
||||
GdipFree((*grad)->pathdata.Types);
|
||||
GdipFree(*grad);
|
||||
return OutOfMemory;
|
||||
}
|
||||
|
||||
memcpy((*grad)->pathdata.Points, path->pathdata.Points,
|
||||
path->pathdata.Count * sizeof(PointF));
|
||||
memcpy((*grad)->pathdata.Types, path->pathdata.Types, path->pathdata.Count);
|
||||
|
||||
(*grad)->brush.lb.lbStyle = BS_SOLID;
|
||||
(*grad)->brush.lb.lbColor = col;
|
||||
(*grad)->brush.lb.lbHatch = 0;
|
||||
|
||||
(*grad)->brush.gdibrush = CreateSolidBrush(col);
|
||||
(*grad)->brush.bt = BrushTypeSolidColor;
|
||||
(*grad)->brush.bt = BrushTypePathGradient;
|
||||
(*grad)->centercolor = 0xffffffff;
|
||||
(*grad)->wrap = WrapModeClamp;
|
||||
|
||||
|
@ -111,6 +126,17 @@ GpStatus WINGDIPAPI GdipDeleteBrush(GpBrush *brush)
|
|||
return Ok;
|
||||
}
|
||||
|
||||
GpStatus WINGDIPAPI GdipGetPathGradientPointCount(GpPathGradient *grad,
|
||||
INT *count)
|
||||
{
|
||||
if(!grad || !count)
|
||||
return InvalidParameter;
|
||||
|
||||
*count = grad->pathdata.Count;
|
||||
|
||||
return Ok;
|
||||
}
|
||||
|
||||
GpStatus WINGDIPAPI GdipGetSolidFillColor(GpSolidFill *sf, ARGB *argb)
|
||||
{
|
||||
if(!sf || !argb)
|
||||
|
|
|
@ -333,7 +333,7 @@
|
|||
@ stub GdipGetPathGradientFocusScales
|
||||
@ stub GdipGetPathGradientGammaCorrection
|
||||
@ stub GdipGetPathGradientPath
|
||||
@ stub GdipGetPathGradientPointCount
|
||||
@ stdcall GdipGetPathGradientPointCount(ptr ptr)
|
||||
@ stub GdipGetPathGradientPresetBlend
|
||||
@ stub GdipGetPathGradientPresetBlendCount
|
||||
@ stub GdipGetPathGradientRect
|
||||
|
|
|
@ -94,6 +94,7 @@ struct GpSolidFill{
|
|||
|
||||
struct GpPathGradient{
|
||||
GpBrush brush;
|
||||
PathData pathdata;
|
||||
ARGB centercolor;
|
||||
GpWrapMode wrap;
|
||||
};
|
||||
|
|
|
@ -92,6 +92,7 @@ GpStatus WINGDIPAPI GdipCreatePathGradientFromPath(GDIPCONST GpPath*,
|
|||
GpPathGradient**);
|
||||
GpStatus WINGDIPAPI GdipCreateSolidFill(ARGB,GpSolidFill**);
|
||||
GpStatus WINGDIPAPI GdipGetBrushType(GpBrush*,GpBrushType*);
|
||||
GpStatus WINGDIPAPI GdipGetPathGradientPointCount(GpPathGradient*,INT*);
|
||||
GpStatus WINGDIPAPI GdipDeleteBrush(GpBrush*);
|
||||
GpStatus WINGDIPAPI GdipGetSolidFillColor(GpSolidFill*,ARGB*);
|
||||
GpStatus WINGDIPAPI GdipSetPathGradientCenterColor(GpPathGradient*,ARGB);
|
||||
|
|
Loading…
Reference in New Issue