X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/73251d5d8f70ae9fca5775193f0c605c2ca25cee..18790478b4e1bf5b005a2c85936558e0e659a80f:/sizetip.c diff --git a/sizetip.c b/sizetip.c index 20ab423c..439d88ca 100644 --- a/sizetip.c +++ b/sizetip.c @@ -1,25 +1,34 @@ - #include +#ifndef AUTO_WINSOCK +#ifdef WINSOCK_TWO +#include +#else +#include +#endif +#endif #include #include #include +#include #include "putty.h" +#include "winstuff.h" -ATOM tip_class = 0; +static ATOM tip_class = 0; -HFONT tip_font; -COLORREF tip_bg; -COLORREF tip_text; +static HFONT tip_font; +static COLORREF tip_bg; +static COLORREF tip_text; -LRESULT CALLBACK SizeTipWndProc(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam) +static LRESULT CALLBACK SizeTipWndProc(HWND hWnd, UINT nMsg, + WPARAM wParam, LPARAM lParam) { switch (nMsg) { - case WM_ERASEBKGND: + case WM_ERASEBKGND: return TRUE; - case WM_PAINT: + case WM_PAINT: { HBRUSH hbr; HGDIOBJ holdbr; @@ -58,15 +67,15 @@ LRESULT CALLBACK SizeTipWndProc(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lPar } return 0; - case WM_NCHITTEST: + case WM_NCHITTEST: return HTTRANSPARENT; - case WM_DESTROY: + case WM_DESTROY: DeleteObject(tip_font); tip_font = NULL; break; - case WM_SETTEXT: + case WM_SETTEXT: { LPCTSTR str = (LPCTSTR)lParam; SIZE sz; @@ -86,19 +95,19 @@ LRESULT CALLBACK SizeTipWndProc(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lPar return DefWindowProc(hWnd, nMsg, wParam, lParam); } -HWND tip_wnd = NULL; -int tip_enabled = 0; +static HWND tip_wnd = NULL; +static int tip_enabled = 0; void UpdateSizeTip(HWND src, int cx, int cy) { - TCHAR str[16]; + TCHAR str[32]; if (!tip_enabled) return; if (!tip_wnd) { NONCLIENTMETRICS nci; - // First make sure the window class is registered + /* First make sure the window class is registered */ if (!tip_class) { WNDCLASS wc; @@ -106,7 +115,7 @@ void UpdateSizeTip(HWND src, int cx, int cy) wc.lpfnWndProc = SizeTipWndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; - wc.hInstance = putty_inst; + wc.hInstance = hinst; wc.hIcon = NULL; wc.hCursor = NULL; wc.hbrBackground = NULL; @@ -116,27 +125,28 @@ void UpdateSizeTip(HWND src, int cx, int cy) tip_class = RegisterClass(&wc); } -// // Default values based on Windows Standard color scheme -// -// tip_font = GetStockObject(SYSTEM_FONT); -// tip_bg = RGB(255, 255, 225); -// tip_text = RGB(0, 0, 0); +#if 0 + /* Default values based on Windows Standard color scheme */ + + tip_font = GetStockObject(SYSTEM_FONT); + tip_bg = RGB(255, 255, 225); + tip_text = RGB(0, 0, 0); +#endif - // Prepare other GDI objects and drawing info + /* Prepare other GDI objects and drawing info */ tip_bg = GetSysColor(COLOR_INFOBK); tip_text = GetSysColor(COLOR_INFOTEXT); - + memset(&nci, 0, sizeof(NONCLIENTMETRICS)); nci.cbSize = sizeof(NONCLIENTMETRICS); SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS), &nci, 0); tip_font = CreateFontIndirect(&nci.lfStatusFont); } - // Generate the tip text - - _sntprintf(str, 16, "%dx%d", cx, cy); + /* Generate the tip text */ + sprintf(str, "%dx%d", cx, cy); if (!tip_wnd) { HDC hdc; @@ -144,7 +154,7 @@ void UpdateSizeTip(HWND src, int cx, int cy) RECT wr; int ix, iy; - // calculate the tip's size + /* calculate the tip's size */ hdc = CreateCompatibleDC(NULL); GetTextExtentPoint32(hdc, str, _tcslen(str), &sz); @@ -158,17 +168,17 @@ void UpdateSizeTip(HWND src, int cx, int cy) iy = wr.top - sz.cy; if (iy<16) iy = 16; - // Create the tip window + /* Create the tip window */ tip_wnd = CreateWindowEx(WS_EX_TOOLWINDOW|WS_EX_TOPMOST, MAKEINTRESOURCE(tip_class), str, WS_POPUP, - ix, iy, sz.cx, sz.cy, - NULL, NULL, putty_inst, NULL); + ix, iy, sz.cx, sz.cy, + NULL, NULL, hinst, NULL); ShowWindow(tip_wnd, SW_SHOWNOACTIVATE); } else { - // Tip already exists, just set the text + /* Tip already exists, just set the text */ SetWindowText(tip_wnd, str); } @@ -180,6 +190,6 @@ void EnableSizeTip(int bEnable) DestroyWindow(tip_wnd); tip_wnd = NULL; } - + tip_enabled = bEnable; }