{Un autre Algorythme de Breshenam pour dessiner des lignes en escalier.} procedure toutil_ligne.ligne_escalier(dc:hdc; generate:boolean); var i:integer; dx,dy:integer; commencement,suivant:tpoint; nb_marche:integer; begin nb_marche:=u_object.PPR^.rec_Ligne_Symbole.nb_marche; dx:=(point_actuel.x-point_depart.x) div nb_marche; dy:=(point_actuel.y-point_depart.y) div nb_marche; commencement:=point_depart; for i:=1 to nb_marche do begin suivant.x:=commencement.x+dx; suivant.y:=commencement.y+dy; if generate then begin aforme^.elements^.insert(new(lignenodeptr,init(commencement.x-aforme^.x,suivant.y-aforme^.y))); with suivant do aforme^.elements^.insert(new(lignenodeptr,init(x-aforme^.x,y-aforme^.y))); end else begin {dessin} moveto(dc,commencement.x,commencement.y); lineto(dc,commencement.x,suivant.y); lineto(dc,suivant.x,suivant.y); end; {dessin} commencement:=suivant; end; end; {toutil_ligne.ligne_escalier}