blob: c0cac41d7bb585be7764543f346b67010afbd1de (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
/*
===============================================================================
PopUp plugin
Plugin Name: PopUp
Plugin authors: Luca Santarelli aka hrk (hrk@users.sourceforge.net)
Victor Pavlychko aka zazoo (nullbie@gmail.com)
===============================================================================
The purpose of this plugin is to give developers a common "platform/interface"
to show PopUps. It is born from the source code of NewStatusNotify, another
plugin I've made.
Remember that users *must* have this plugin enabled, or they won't get any
popup. Write this in the requirements, do whatever you wish ;-)... but tell
them!
===============================================================================
*/
#ifndef M_POPUPW_H
#define M_POPUPW_H
#ifndef MAX_CONTACTNAME
#define MAX_CONTACTNAME 2048
#endif
#ifndef MAX_SECONDLINE
#define MAX_SECONDLINE 2048
#endif
// Unicode Popup Info
typedef struct {
HANDLE lchContact;
HICON lchIcon;
WCHAR lpwzContactName[MAX_CONTACTNAME];
WCHAR lpwzText[MAX_SECONDLINE];
COLORREF colorBack;
COLORREF colorText;
WNDPROC PluginWindowProc;
void * PluginData;
int iSeconds; //Custom delay time in seconds. -1 means "forever", 0 means "default time".
char cZero[16]; //some unused bytes which may come useful in the future.
} POPUPDATAW, *LPPOPUPDATAW;
// Create Popup
#define MS_POPUP_ADDPOPUPW "PopUp/AddPopUpW"
static int __inline PUAddPopUpW(POPUPDATAW* ppdp) {
return CallService(MS_POPUP_ADDPOPUPW, (WPARAM)ppdp,0);
}
// Change Text
#define MS_POPUP_CHANGETEXTW "PopUp/ChangetextW"
static int __inline PUChangeTextW(HWND hWndPopUp, LPCWSTR lpwzNewText) {
return (int)CallService(MS_POPUP_CHANGETEXTW, (WPARAM)hWndPopUp, (LPARAM)lpwzNewText);
}
#endif
|