> Canvas.Arc(iMin,jMin, iMax,jMax, x1, y1, x2,y2); > Windows.Arc(Canvas.handle,iMin,jMin, iMax,jMax, x1, y1, x2,y2);
Oh dear me! I finally noticed that the Lazarus Arc differs from the rest of the world. In Windows API and Delphi the coordinates are rectangle coordinates and in Lazarus it is TCanvas.Arc(Left,Top,AWidth,AHeight,sx,sy,ex,ey : Integer); in Delphi this is: procedure Arc(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer); And Windows API: BOOL Arc( HDC hdc, // handle to device context int nLeftRect, // x-coord of rectangle's upper-left corner int nTopRect, // y-coord of rectangle's upper-left corner int nRightRect, // x-coord of rectangle's lower-right corner int nBottomRect, // y-coord of rectangle's lower-right corner int nXStartArc, // x-coord of first radial ending point int nYStartArc, // y-coord of first radial ending point int nXEndArc, // x-coord of second radial ending point int nYEndArc // y-coord of second radial ending point ); for some reason unknown to me. This explains the weird behaviour of a graphics application I tried to port from Delphi Is there any special reason for one of the primitives to have a different parameter list? Are there any other differences as big as this one? -- [EMAIL PROTECTED] _________________________________________________________________ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives