From 5ac26cff397836222eb8d51d866890f96321c601 Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@4f64403b-2f21-0410-a795-97e2b3489a10> Date: Sun, 25 Apr 2010 15:57:51 +0000 Subject: Optimizations, removed redundant code, better compatibility with popup+ git-svn-id: https://server.scottellis.com.au/svn/mim_plugs@512 4f64403b-2f21-0410-a795-97e2b3489a10 --- yapp/common.h | 58 +++++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 45 insertions(+), 13 deletions(-) (limited to 'yapp/common.h') diff --git a/yapp/common.h b/yapp/common.h index 7cfcd5f..cd8db2c 100644 --- a/yapp/common.h +++ b/yapp/common.h @@ -27,17 +27,15 @@ #define _UNICODE #endif -#include +#include #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers // Windows Header Files: #include #include -#include -#include #include -#define MIRANDA_VER 0x0600 +#define MIRANDA_VER 0x0700 #include #include @@ -45,18 +43,17 @@ #include #include #include +#include #include #include #include #include -#include #include - -#include - -#include "m_updater.h" #include #include +#include + +#include "m_updater.h" #include @@ -64,19 +61,16 @@ extern HMODULE hInst; extern PLUGINLINK *pluginLink; -extern HANDLE mainThread; extern HFONT hFontFirstLine, hFontSecondLine, hFontTime; extern COLORREF colFirstLine, colSecondLine, colBg, colTime, colBorder, colSidebar, colTitleUnderline; extern MNOTIFYLINK *notifyLink; -extern int code_page; - // work around a bug in neweventnotify, possibly httpserver // ignore the address passed to the 'get plugin data' service extern bool ignore_gpd_passed_addy; - + // win32 defines for mingw version of windows headers :( #ifndef LVM_SORTITEMSEX #define LVM_SORTITEMSEX (LVM_FIRST + 81) @@ -86,3 +80,41 @@ typedef int (CALLBACK *PFNLVCOMPARE)(LPARAM, LPARAM, LPARAM); #define ListView_SortItemsEx(hwndLV, _pfnCompare, _lPrm) \ (BOOL)SendMessage((hwndLV), LVM_SORTITEMSEX, (WPARAM)(LPARAM)(_lPrm), (LPARAM)(PFNLVCOMPARE)(_pfnCompare)) #endif + + +typedef struct { + int cbSize; + int flags; // OR of PDF_* flags below + HANDLE hContact; + HICON hIcon; + union { + char *pszTitle; + TCHAR *ptzTitle; + wchar_t *pwzTitle; + }; + union { + char *pszText; + TCHAR *ptzText; + wchar_t *pwzText; + }; + COLORREF colorBack; // if colorBack and colorText are equal, defaults will be used + COLORREF colorText; + WNDPROC windowProc; // optional custom window procedure + int timeout; // -1 == infinite, 0 == default, otherwise timeout in seconds + void *opaque; +} PopupData; + +#define PDF_UNICODE 0x0001 +#ifdef _UNICODE +#define PDF_TCHAR PDF_UNICODE +#else +#define PDF_TCHAR 0 +#endif + +// windowProc messages +#define PM_INIT (WM_USER + 0x0202) // message sent to your windowProc after the window has been initialized +#define PM_DIENOTIFY (WM_USER + 0x0200) // message sent to your windowProc just before the window is destroyed (can be used e.g. to free your opaque data) + +#define PM_DESTROY (WM_USER + 0x0201) // send to the popup hWnd (use PostMessage generally, or SendMessage inside your windowProc) to kill it + +void ShowPopup(PopupData &pd_in); \ No newline at end of file -- cgit v1.2.3