Huw Davies : comdlg32: Add a helper to access the margin rect.
Alexandre Julliard
julliard at winehq.org
Fri Jan 23 10:06:58 CST 2009
Module: wine
Branch: master
Commit: 2bd53e2786b9a7b6cafc2eab22244284d0c0c2b4
URL: http://source.winehq.org/git/wine.git/?a=commit;h=2bd53e2786b9a7b6cafc2eab22244284d0c0c2b4
Author: Huw Davies <huw at codeweavers.com>
Date: Thu Jan 22 15:47:07 2009 +0000
comdlg32: Add a helper to access the margin rect.
---
dlls/comdlg32/printdlg.c | 24 +++++++++++++-----------
1 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/dlls/comdlg32/printdlg.c b/dlls/comdlg32/printdlg.c
index c07e72b..f7c5901 100644
--- a/dlls/comdlg32/printdlg.c
+++ b/dlls/comdlg32/printdlg.c
@@ -2789,6 +2789,11 @@ static inline POINT *pagesetup_get_papersize_pt(const pagesetup_data *data)
return &data->dlga->ptPaperSize;
}
+static inline RECT *pagesetup_get_margin_rect(const pagesetup_data *data)
+{
+ return &data->dlga->rtMargin;
+}
+
static inline void swap_point(POINT *pt)
{
LONG tmp = pt->x;
@@ -3169,7 +3174,7 @@ static void update_margin_edits(HWND hDlg, const pagesetup_data *data, WORD id)
{
if(id == 0 || id == idx)
{
- size2str(data, *element_from_margin_id(&data->dlga->rtMargin, idx), str);
+ size2str(data, *element_from_margin_id(pagesetup_get_margin_rect(data), idx), str);
SetDlgItemTextW(hDlg, idx, str);
}
}
@@ -3183,7 +3188,7 @@ static void margin_edit_notification(HWND hDlg, pagesetup_data *data, WORD msg,
{
WCHAR buf[10];
LONG val = 0;
- LONG *value = element_from_margin_id(&data->dlga->rtMargin, id);
+ LONG *value = element_from_margin_id(pagesetup_get_margin_rect(data), id);
if (GetDlgItemTextW(hDlg, id, buf, sizeof(buf) / sizeof(buf[0])) != 0)
{
@@ -3325,7 +3330,7 @@ static BOOL PRINTDLG_PS_WMCommandA(HWND hDlg, WPARAM wParam, LPARAM lParam, page
{
pagesetup_set_orientation(data, (id == rad1) ? DMORIENT_PORTRAIT : DMORIENT_LANDSCAPE);
pagesetup_update_papersize(data);
- rotate_rect(&data->dlga->rtMargin, (id == rad2));
+ rotate_rect(pagesetup_get_margin_rect(data), (id == rad2));
update_margin_edits(hDlg, data, 0);
pagesetup_change_preview(data);
}
@@ -3566,10 +3571,10 @@ PRINTDLG_PagePaintProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
scaly = rcClient.bottom / (double)pagesetup_get_papersize_pt(data)->y;
rcMargin = rcClient;
- rcMargin.left += data->dlga->rtMargin.left * scalx;
- rcMargin.top += data->dlga->rtMargin.top * scalx;
- rcMargin.right -= data->dlga->rtMargin.right * scaly;
- rcMargin.bottom -= data->dlga->rtMargin.bottom * scaly;
+ rcMargin.left += pagesetup_get_margin_rect(data)->left * scalx;
+ rcMargin.top += pagesetup_get_margin_rect(data)->top * scalx;
+ rcMargin.right -= pagesetup_get_margin_rect(data)->right * scaly;
+ rcMargin.bottom -= pagesetup_get_margin_rect(data)->bottom * scaly;
/* if the space is too small then we make sure to not draw anything */
rcMargin.left = min(rcMargin.left, rcMargin.right);
@@ -3720,10 +3725,7 @@ PRINTDLG_PageDlgProcA(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
/* default is 1 inch */
LONG size = thousandths_inch_to_size(data, 1000);
- data->dlga->rtMargin.left = size;
- data->dlga->rtMargin.top = size;
- data->dlga->rtMargin.right = size;
- data->dlga->rtMargin.bottom = size;
+ SetRect(pagesetup_get_margin_rect(data), size, size, size, size);
}
update_margin_edits(hDlg, data, 0);
subclass_margin_edits(hDlg);
More information about the wine-cvs
mailing list