summaryrefslogtreecommitdiff
path: root/yapp/common.h
diff options
context:
space:
mode:
Diffstat (limited to 'yapp/common.h')
-rw-r--r--yapp/common.h58
1 files changed, 45 insertions, 13 deletions
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 <tchar.h>
+#include <m_stdhdr.h>
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
// Windows Header Files:
#include <windows.h>
#include <commctrl.h>
-#include <malloc.h>
-#include <stdlib.h>
#include <time.h>
-#define MIRANDA_VER 0x0600
+#define MIRANDA_VER 0x0700
#include <newpluginapi.h>
#include <statusmodes.h>
@@ -45,18 +43,17 @@
#include <m_langpack.h>
#include <m_options.h>
#include <m_system.h>
+#include <m_system_cpp.h>
#include <m_idle.h>
#include <m_skin.h>
#include <m_clui.h>
#include <m_clist.h>
-#include <stdio.h>
#include <m_utils.h>
-
-#include <m_yapp.h>
-
-#include "m_updater.h"
#include <m_fontservice.h>
#include <m_avatars.h>
+#include <m_popup.h>
+
+#include "m_updater.h"
#include <m_notify.h>
@@ -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