wineps.drv: Avoid not necessary floating point math.
Dmitry Timoshkov
dmitry at codeweavers.com
Thu Apr 28 01:15:57 CDT 2011
---
dlls/wineps.drv/driver.c | 14 ++++++--------
1 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/dlls/wineps.drv/driver.c b/dlls/wineps.drv/driver.c
index 7b30f3f..127ca56 100644
--- a/dlls/wineps.drv/driver.c
+++ b/dlls/wineps.drv/driver.c
@@ -72,10 +72,8 @@ void PSDRV_MergeDevmodes(PSDRV_DEVMODEA *dm1, PSDRV_DEVMODEA *dm2,
}
if(&page->entry != &pi->ppd->PageSizes ) {
dm1->dmPublic.u1.s1.dmPaperSize = dm2->dmPublic.u1.s1.dmPaperSize;
- dm1->dmPublic.u1.s1.dmPaperWidth = page->PaperDimension->x *
- 254.0 / 72.0;
- dm1->dmPublic.u1.s1.dmPaperLength = page->PaperDimension->y *
- 254.0 / 72.0;
+ dm1->dmPublic.u1.s1.dmPaperWidth = MulDiv(page->PaperDimension->x, 254, 72);
+ dm1->dmPublic.u1.s1.dmPaperLength = MulDiv(page->PaperDimension->y, 254, 72);
dm1->dmPublic.dmFields &= ~(DM_PAPERLENGTH | DM_PAPERWIDTH);
dm1->dmPublic.dmFields |= DM_PAPERSIZE;
TRACE("Changing page to %s %d x %d\n", page->FullName,
@@ -458,8 +456,8 @@ DWORD CDECL PSDRV_DeviceCapabilities(LPSTR lpszDriver, LPCSTR lpszDevice, LPCSTR
TRACE("DC_PAPERSIZE: %f x %f\n", ps->PaperDimension->x, ps->PaperDimension->y);
i++;
if(lpszOutput != NULL) {
- pt->x = ps->PaperDimension->x * 254.0 / 72.0;
- pt->y = ps->PaperDimension->y * 254.0 / 72.0;
+ pt->x = MulDiv(ps->PaperDimension->x, 254, 72);
+ pt->y = MulDiv(ps->PaperDimension->y, 254, 72);
pt++;
}
}
@@ -574,7 +572,7 @@ DWORD CDECL PSDRV_DeviceCapabilities(LPSTR lpszDriver, LPCSTR lpszDevice, LPCSTR
if(ps->PaperDimension->y > ptMax.y)
ptMax.y = ps->PaperDimension->y;
}
- return MAKELONG(ptMax.x * 254.0 / 72.0, ptMax.y * 254.0 / 72.0 );
+ return MAKELONG(MulDiv(ptMax.x, 254, 72), MulDiv(ptMax.y, 254, 72));
}
case DC_MINEXTENT:
@@ -590,7 +588,7 @@ DWORD CDECL PSDRV_DeviceCapabilities(LPSTR lpszDriver, LPCSTR lpszDevice, LPCSTR
if(ptMin.y == -1 || ps->PaperDimension->y < ptMin.y)
ptMin.y = ps->PaperDimension->y;
}
- return MAKELONG(ptMin.x * 254.0 / 72.0, ptMin.y * 254.0 / 72.0);
+ return MAKELONG(MulDiv(ptMin.x, 254, 72), MulDiv(ptMin.y, 254, 72));
}
case DC_SIZE:
--
1.7.4.3
More information about the wine-patches
mailing list