Module: wine Branch: master Commit: e4b76dfd88b8991da903a83a8b8cde319cd265db URL: http://source.winehq.org/git/wine.git/?a=commit;h=e4b76dfd88b8991da903a83a8b...
Author: Alexandre Julliard julliard@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 );