[GDI+: 3/5] added graphics implementation and tests

Dmitry Timoshkov dmitry at codeweavers.com
Fri Jun 8 22:16:59 CDT 2007


"Evan Stade" <estade at gmail.com> wrote:

> +GpStatus WINGDIPAPI GdipDrawLineI(GpGraphics *graphics, GpPen *pen, INT x1, 
> +    INT y1, INT x2, INT y2)
> +{
> +    HGDIOBJ old_obj;
> +
> +    if(!pen || !graphics)
> +        return InvalidParameter;
> +
> +    old_obj = SelectObject(graphics->hdc, pen->gdipen);
> +    MoveToEx(graphics->hdc, x1, y1, NULL);
> +    LineTo(graphics->hdc, x2, y2);
> +    SelectObject(graphics->hdc, old_obj);
> +
> +    return Ok;
> +}
> +
> +GpStatus WINGDIPAPI GdipDrawRectangleI(GpGraphics *graphics, GpPen *pen, INT x, 
> +    INT y, INT width, INT height)
> +{
> +    LOGBRUSH lb;
> +    HPEN hpen;
> +    HGDIOBJ old_obj;
> +
> +    if(!pen || !graphics)
> +        return InvalidParameter;
> +
> +    lb.lbStyle = BS_SOLID;
> +    lb.lbColor = pen->color;
> +    lb.lbHatch = 0;
> +
> +    hpen = ExtCreatePen(PS_GEOMETRIC | PS_ENDCAP_SQUARE, (INT) pen->width, 
> +        &lb, 0, NULL);

Any reason why are you creating a new pen in GdipDrawRectangleI, and while using
an existing one in GdipDrawLineI?

-- 
Dmitry.



More information about the wine-devel mailing list