From cfd525c2fc84ac0d479a4b8f6c0d49d3ab20c23e Mon Sep 17 00:00:00 2001 From: spx Date: Sun, 20 Oct 2013 20:44:57 +0900 Subject: [PATCH] Fixed AnchorX/Y issue (caused by ef1cf223) http://rainmeter.net/forum/viewtopic.php?f=14&t=16798 --- Library/MeterWindow.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Library/MeterWindow.cpp b/Library/MeterWindow.cpp index eb394635..6528ab99 100644 --- a/Library/MeterWindow.cpp +++ b/Library/MeterWindow.cpp @@ -2818,18 +2818,19 @@ void MeterWindow::UpdateWindow(int alpha, bool reset, bool canvasBeginDrawCalled } BLENDFUNCTION blendPixelFunction = {AC_SRC_OVER, 0, alpha, AC_SRC_ALPHA}; + POINT ptWindowScreenPosition = {m_ScreenX, m_ScreenY}; POINT ptSrc = {0, 0}; SIZE szWindow = {m_Canvas->GetW(), m_Canvas->GetH()}; if (!canvasBeginDrawCalled) m_Canvas->BeginDraw(); HDC dcMemory = m_Canvas->GetDC(); - if (!UpdateLayeredWindow(m_Window, nullptr, nullptr, &szWindow, dcMemory, &ptSrc, 0, &blendPixelFunction, ULW_ALPHA)) + if (!UpdateLayeredWindow(m_Window, nullptr, &ptWindowScreenPosition, &szWindow, dcMemory, &ptSrc, 0, &blendPixelFunction, ULW_ALPHA)) { // Retry after resetting WS_EX_LAYERED flag. RemoveWindowExStyle(WS_EX_LAYERED); AddWindowExStyle(WS_EX_LAYERED); - UpdateLayeredWindow(m_Window, nullptr, nullptr, &szWindow, dcMemory, &ptSrc, 0, &blendPixelFunction, ULW_ALPHA); + UpdateLayeredWindow(m_Window, nullptr, &ptWindowScreenPosition, &szWindow, dcMemory, &ptSrc, 0, &blendPixelFunction, ULW_ALPHA); } m_Canvas->ReleaseDC(dcMemory);