Alexander Nicolaysen Sørnes : wordpad: Add support for printing a page range.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Sep 12 07:51:00 CDT 2007
Module: wine
Branch: master
Commit: 05e6a4e60c55885624f5a47c0a4ea8c0a1c75cdd
URL: http://source.winehq.org/git/wine.git/?a=commit;h=05e6a4e60c55885624f5a47c0a4ea8c0a1c75cdd
Author: Alexander Nicolaysen Sørnes <alex at 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;
More information about the wine-cvs
mailing list