gdiplus: Added SetPenEndCap.

This commit is contained in:
Evan Stade 2007-07-05 18:37:52 -07:00 committed by Alexandre Julliard
parent fff723d739
commit 68ba30f433
5 changed files with 36 additions and 1 deletions

View File

@ -550,7 +550,7 @@
@ stub GdipSetPenDashCap197819
@ stub GdipSetPenDashOffset
@ stub GdipSetPenDashStyle
@ stub GdipSetPenEndCap
@ stdcall GdipSetPenEndCap(ptr long)
@ stub GdipSetPenLineCap197819
@ stub GdipSetPenLineJoin
@ stub GdipSetPenMiterLimit

View File

@ -32,6 +32,7 @@ struct GpPen{
GpUnit unit;
REAL width;
HPEN gdipen;
GpLineCap endcap;
};
struct GpGraphics{

View File

@ -43,6 +43,7 @@ GpStatus WINGDIPAPI GdipCreatePen1(ARGB color, FLOAT width, GpUnit unit,
gp_pen->color = ARGB2COLORREF(color);
gp_pen->width = width;
gp_pen->unit = unit;
gp_pen->endcap = LineCapFlat;
/* FIXME: Currently only solid lines supported. */
lb.lbStyle = BS_SOLID;
@ -71,3 +72,17 @@ GpStatus WINGDIPAPI GdipDeletePen(GpPen *pen)
return Ok;
}
GpStatus WINGDIPAPI GdipSetPenEndCap(GpPen *pen, GpLineCap cap)
{
if(!pen) return InvalidParameter;
if(cap != LineCapFlat){
FIXME("Not implemented for non-flat EndCap\n");
return NotImplemented;
}
pen->endcap = cap;
return Ok;
}

View File

@ -45,11 +45,29 @@ enum FillMode
FillModeWinding = 1
};
enum LineCap
{
LineCapFlat = 0x00,
LineCapSquare = 0x01,
LineCapRound = 0x02,
LineCapTriangle = 0x03,
LineCapNoAnchor = 0x10,
LineCapSquareAnchor = 0x11,
LineCapRoundAnchor = 0x12,
LineCapDiamondAnchor = 0x13,
LineCapArrowAnchor = 0x14,
LineCapCustom = 0xff,
LineCapAnchorMask = 0xf0
};
#ifndef __cplusplus
typedef enum Unit Unit;
typedef enum BrushType BrushType;
typedef enum FillMode FillMode;
typedef enum LineCap LineCap;
#endif /* end of c typedefs */

View File

@ -43,5 +43,6 @@ typedef BrushType GpBrushType;
typedef PointF GpPointF;
typedef FillMode GpFillMode;
typedef PathData GpPathData;
typedef LineCap GpLineCap;
#endif