Mercurial > dwindows
diff win/dw.c @ 1140:1c63bf62e0b0
Fix for issues in printing pages on Windows.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Fri, 09 Sep 2011 21:05:57 +0000 |
parents | 65b750569a0a |
children | b1b23de965d7 |
line wrap: on
line diff
--- a/win/dw.c Fri Sep 09 10:52:05 2011 +0000 +++ b/win/dw.c Fri Sep 09 21:05:57 2011 +0000 @@ -10022,8 +10022,8 @@ print->pd.hwndOwner = HWND_DESKTOP; print->pd.Flags = PD_USEDEVMODECOPIESANDCOLLATE | PD_RETURNDC; print->pd.nCopies = 1; - print->pd.nFromPage = 0xFFFF; - print->pd.nToPage = 0xFFFF; + print->pd.nFromPage = 1; + print->pd.nToPage = pages; print->pd.nMinPage = 1; print->pd.nMaxPage = pages; @@ -10063,7 +10063,7 @@ /*pixmap->handle = handle;*/ pixmap->hbm = CreateCompatibleBitmap(p->pd.hDC, pixmap->width, pixmap->height); - pixmap->hdc = CreateCompatibleDC(p->pd.hDC); + pixmap->hdc = p->pd.hDC; pixmap->transcolor = DW_RGB_TRANSPARENT; SelectObject(pixmap->hdc, pixmap->hbm); @@ -10072,10 +10072,10 @@ StartDoc(p->pd.hDC, &(p->di)); /* Cycle through each page */ - for(x=p->pd.nFromPage; x<p->pd.nToPage && p->drawfunc; x++) + for(x=p->pd.nFromPage-1; x<p->pd.nToPage && p->drawfunc; x++) { StartPage(p->pd.hDC); - p->drawfunc(print, pixmap, x-1, p->drawdata); + p->drawfunc(print, pixmap, x, p->drawdata); EndPage(p->pd.hDC); } EndDoc(p->pd.hDC);