#ifndef _MESSAGE_PUMP_INC #define _MESSAGE_PUMP_INC //extern DWORD message_pump_thread_id; extern unsigned int message_pump_thread_id; void PostMPMessage(UINT msg, WPARAM, LPARAM); #define MUM_CREATEPOPUP (WM_USER + 0x011) #define MUM_DELETEPOPUP (WM_USER + 0x012) #define MUM_GOTSTATUS (WM_USER + 0x013) #define MUM_GOTAVATAR (WM_USER + 0x014) extern HMODULE hUserDll; extern BOOL (WINAPI *MySetLayeredWindowAttributes)(HWND,COLORREF,BYTE,DWORD); extern BOOL (WINAPI *MyAnimateWindow)(HWND hWnd,DWORD dwTime,DWORD dwFlags); void InitMessagePump(); void DeinitMessagePump(); int ShowTip(WPARAM wParam, LPARAM lParam); int ShowTipW(WPARAM wParam, LPARAM lParam); int HideTip(WPARAM wParam, LPARAM lParam); int FramesShowSBTip(WPARAM wParam, LPARAM lParam); int FramesHideSBTip(WPARAM wParam, LPARAM lParam); int ProtoAck(WPARAM wParam, LPARAM lParam); typedef struct { int cbSize; int isTreeFocused; //so the plugin can provide an option int isGroup; //0 if it's a contact, 1 if it's a group HANDLE hItem; //handle to group or contact POINT ptCursor; RECT rcItem; TCHAR *text; // for tips with specific text char *proto; // for proto tips } CLCINFOTIPEX; #endif