summaryrefslogtreecommitdiff
path: root/icqj_mod/m_popupw.h
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