1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
void nt_drwseg (int *iwin,int *ix,int *iy,int *npts,int *ixy)
{
int i,flag,couleur;
HWND hWnd;
HDC hDC;
HPEN hOldPen,drawPen;
POINT Pstart,Pend,oldpoint;
hWnd =(HWND)(*iwin);
SetFocus(hWnd);
hDC=GetDC(hWnd);
couleur = M_GRAPHIC_mp_ICCOU;
if(M_GRAPHICSHARED_mp_INVCOU)
{
if(couleur == 0) couleur = 1;
else if(couleur == 1)couleur = 0;
}
drawPen = CreatePen(PS_SOLID,M_GRAPHIC_mp_LINEWIDTH,PALETTEINDEX(M_GRAPHIC_mp_LISCOU[couleur]));
hOldPen = (HPEN)(SelectObject(hDC,drawPen));
Pstart.x = *ix;
Pstart.y = *iy;
for(i=0;i<*npts;i++)
{
Pstart.x=*ix+ixy[4 * i ];
Pstart.y=*iy+ixy[4 * i + 1];
Pend.x =*ix+ixy[4 * i + 2];
Pend.y =*iy+ixy[4 * i + 3];
MoveToEx(hDC,Pstart.x,Pstart.y,&oldpoint);
LineTo(hDC,Pend.x,Pend.y);
}
SelectObject(hDC,hOldPen);
DeleteObject(drawPen);
flag = GetROP2(hDC);
ReleaseDC(hWnd,hDC);
if (flag == Isy_Xor) return;
}
|