diff options
| author | Jonas Kümmerlin <jonas@kuemmerlin.eu> | 2020-06-22 16:34:47 +0200 |
|---|---|---|
| committer | Jonas Kümmerlin <jonas@kuemmerlin.eu> | 2020-06-22 16:34:47 +0200 |
| commit | fc8f7a0075818b650f0a2f6b555159e796e1d130 (patch) | |
| tree | 88ae5db138db173ac30c450c2b5b752b2b9832a8 /alf/alfcompat.cpp | |
| parent | cdc67e80ac78d08aee04bbc55ece650579beba6c (diff) | |
fix oversight in fallback buffered paint implementation
and make label use it more efficiently
how the fuck was this not noticed before?
Diffstat (limited to 'alf/alfcompat.cpp')
| -rw-r--r-- | alf/alfcompat.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/alf/alfcompat.cpp b/alf/alfcompat.cpp index 45f5f4a..31c3eaa 100644 --- a/alf/alfcompat.cpp +++ b/alf/alfcompat.cpp @@ -368,6 +368,11 @@ ALF_Compat_fallbackBeginBufferedPaint(HDC hdc, const RECT *prcTarget, DWORD dwFo _alf_compatBufferedPaintPriv->rcTarget = *prcTarget; *phdcTarget = _alf_compatBufferedPaintPriv->hdcBuffer; + OffsetViewportOrgEx(_alf_compatBufferedPaintPriv->hdcBuffer, + -_alf_compatBufferedPaintPriv->rcTarget.left, + -_alf_compatBufferedPaintPriv->rcTarget.top, + NULL); + return _alf_compatBufferedPaintPriv; } @@ -394,6 +399,11 @@ ALF_Compat_fallbackEndBufferedPaint(ALF_Compat_HPAINTBUFFER hpbBuffer, BOOL fUpd if (hpbBuffer != _alf_compatBufferedPaintPriv) return E_INVALIDARG; + OffsetViewportOrgEx(_alf_compatBufferedPaintPriv->hdcBuffer, + _alf_compatBufferedPaintPriv->rcTarget.left, + _alf_compatBufferedPaintPriv->rcTarget.top, + NULL); + if (fUpdateTarget) BitBlt(_alf_compatBufferedPaintPriv->hdcTarget, _alf_compatBufferedPaintPriv->rcTarget.left, |
