4 * Copyright 1993 Bob Amstadt
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
27 /**********************************************************************
30 BOOL WINAPI
LineDDA(INT nXStart
, INT nYStart
, INT nXEnd
, INT nYEnd
,
31 LINEDDAPROC callback
, LPARAM lParam
)
33 INT xadd
= 1, yadd
= 1;
36 INT dx
= nXEnd
- nXStart
;
37 INT dy
= nYEnd
- nYStart
;
45 if (dx
> dy
) { /* line is "more horizontal" */
46 err
= 2*dy
- dx
; erradd
= 2*dy
- 2*dx
;
47 for(cnt
= 0;cnt
<= dx
; cnt
++) {
48 callback(nXStart
,nYStart
,lParam
);
57 } else { /* line is "more vertical" */
58 err
= 2*dx
- dy
; erradd
= 2*dx
- 2*dy
;
59 for(cnt
= 0;cnt
<= dy
; cnt
++) {
60 callback(nXStart
,nYStart
,lParam
);