Module: wine Branch: master Commit: 05e6a4e60c55885624f5a47c0a4ea8c0a1c75cdd URL: http://source.winehq.org/git/wine.git/?a=commit;h=05e6a4e60c55885624f5a47c0a...
Author: Alexander Nicolaysen Sørnes alex@thehandofagony.com Date: Thu Aug 23 15:03:00 2007 +0200
wordpad: Add support for printing a page range.
---
programs/wordpad/wordpad.c | 19 ++++++++++++++++++- 1 files changed, 18 insertions(+), 1 deletions(-)
diff --git a/programs/wordpad/wordpad.c b/programs/wordpad/wordpad.c index de58c2f..03f9391 100644 --- a/programs/wordpad/wordpad.c +++ b/programs/wordpad/wordpad.c @@ -936,6 +936,7 @@ static void print(LPPRINTDLGW pd) FORMATRANGE fr; DOCINFOW di; int dpiY, dpiX, width, height; + int printedPages = 0;
fr.hdc = pd->hDC; fr.hdcTarget = pd->hDC; @@ -975,6 +976,18 @@ static void print(LPPRINTDLGW pd) gt.codepage = 1200; fr.chrg.cpMin = 0; fr.chrg.cpMax = SendMessageW(hEditorWnd, EM_GETTEXTLENGTHEX, (WPARAM)>, 0); + + if(pd->Flags & PD_PAGENUMS) + { + int i; + for(i = 1; i <= pd->nToPage; i++) + { + if(i == pd->nFromPage) + break; + + fr.chrg.cpMin = SendMessageW(hEditorWnd, EM_FORMATRANGE, TRUE, (LPARAM)&fr); + } + } }
StartDocW(fr.hdc, &di); @@ -987,6 +1000,10 @@ static void print(LPPRINTDLGW pd)
if(EndPage(fr.hdc) <= 0) break; + + printedPages++; + if((pd->Flags & PD_PAGENUMS) && (printedPages > (pd->nToPage - pd->nFromPage))) + break; } while(fr.chrg.cpMin < fr.chrg.cpMax);
@@ -1061,7 +1078,7 @@ static void dialog_print(void) pd.hwndOwner = hMainWnd; pd.Flags = PD_RETURNDC | PD_USEDEVMODECOPIESANDCOLLATE; pd.nMinPage = 1; - pd.nMaxPage = 1; + pd.nMaxPage = -1; pd.hDevMode = devMode; pd.hDevNames = devNames;