Alexandre Julliard : gdi32: Make the top right corner the DC origin for RTL layouts.
Alexandre Julliard
julliard at winehq.org
Thu Jul 29 12:08:38 CDT 2010
Module: wine
Branch: master
Commit: e4b76dfd88b8991da903a83a8b8cde319cd265db
URL: http://source.winehq.org/git/wine.git/?a=commit;h=e4b76dfd88b8991da903a83a8b8cde319cd265db
Author: Alexandre Julliard <julliard at winehq.org>
Date: Mon Jul 26 15:25:54 2010 +0200
gdi32: Make the top right corner the DC origin for RTL layouts.
---
dlls/gdi32/dc.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/dlls/gdi32/dc.c b/dlls/gdi32/dc.c
index d122aae..3aa2480 100644
--- a/dlls/gdi32/dc.c
+++ b/dlls/gdi32/dc.c
@@ -296,6 +296,7 @@ static void construct_window_to_viewport(DC *dc, XFORM *xform)
xform->eM22 = scaleY;
xform->eDx = (double)dc->vportOrgX - scaleX * (double)dc->wndOrgX;
xform->eDy = (double)dc->vportOrgY - scaleY * (double)dc->wndOrgY;
+ if (dc->layout & LAYOUT_RTL) xform->eDx += dc->vis_rect.right - dc->vis_rect.left - 1;
}
/***********************************************************************
@@ -550,6 +551,7 @@ BOOL restore_dc_state( HDC hdc, INT level )
if (dc->hMetaRgn) DeleteObject( dc->hMetaRgn );
dc->hMetaRgn = 0;
}
+ DC_UpdateXforms( dc );
CLIPPING_UpdateGCRegion( dc );
SelectObject( hdc, dcs->hBitmap );
More information about the wine-cvs
mailing list