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