summaryrefslogtreecommitdiff
path: root/src/core/stdmsg
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2022-09-13 10:03:34 -0700
committerGeorge Hazan <ghazan@miranda.im>2022-09-13 10:03:34 -0700
commit4f90d40d53043d4949c517fe2b5496951ff1ba16 (patch)
tree2d26427be1e442c86b381a5d1282ff2d798d64fd /src/core/stdmsg
parentfdbdf41975d0990c733ec733de634a485d3e8ac0 (diff)
StdMsg: manual avatar drawing code removed
Diffstat (limited to 'src/core/stdmsg')
-rw-r--r--src/core/stdmsg/src/msgdialog.cpp25
1 files changed, 7 insertions, 18 deletions
diff --git a/src/core/stdmsg/src/msgdialog.cpp b/src/core/stdmsg/src/msgdialog.cpp
index 3f57090229..a03d02c70b 100644
--- a/src/core/stdmsg/src/msgdialog.cpp
+++ b/src/core/stdmsg/src/msgdialog.cpp
@@ -699,24 +699,13 @@ INT_PTR CMsgDialog::DlgProc(UINT uMsg, WPARAM wParam, LPARAM lParam)
return Menu_DrawItem(lParam);
if (dis->CtlID == IDC_AVATAR && m_avatarPic && g_plugin.bShowAvatar) {
- HPEN hPen = CreatePen(PS_SOLID, 1, RGB(0, 0, 0));
- HPEN hOldPen = (HPEN)SelectObject(dis->hDC, hPen);
- Rectangle(dis->hDC, 0, 0, m_avatarWidth, m_avatarHeight);
- SelectObject(dis->hDC, hOldPen);
- DeleteObject(hPen);
-
- BITMAP bminfo;
- GetObject(m_avatarPic, sizeof(bminfo), &bminfo);
-
- HDC hdcMem = CreateCompatibleDC(dis->hDC);
- HBITMAP hbmMem = (HBITMAP)SelectObject(hdcMem, m_avatarPic);
-
- SetStretchBltMode(dis->hDC, HALFTONE);
- StretchBlt(dis->hDC, 1, 1, m_avatarWidth - 2, m_avatarHeight - 2, hdcMem, 0, 0,
- bminfo.bmWidth, bminfo.bmHeight, SRCCOPY);
-
- SelectObject(hdcMem, hbmMem);
- DeleteDC(hdcMem);
+ AVATARDRAWREQUEST adr = { sizeof(adr) };
+ adr.hContact = m_hContact;
+ adr.hTargetDC = dis->hDC;
+ adr.rcDraw.right = m_avatarWidth;
+ adr.rcDraw.bottom = m_avatarHeight;
+ adr.dwFlags = AVDRQ_DRAWBORDER | AVDRQ_HIDEBORDERONTRANSPARENCY;
+ CallService(MS_AV_DRAWAVATAR, 0, (LPARAM)&adr);
return TRUE;
}