summaryrefslogtreecommitdiff
path: root/include/delphi/m_clistint.inc
diff options
context:
space:
mode:
authorAlexey Kulakov <panda75@bk.ru>2012-07-04 20:10:29 +0000
committerAlexey Kulakov <panda75@bk.ru>2012-07-04 20:10:29 +0000
commit65e002b63efdb00571d0ba4ec1a73b14e1d7d3a0 (patch)
treed96b2f52ca3c89172f269cdb172c89cf6141d69c /include/delphi/m_clistint.inc
parentd7f143dba9e53347a1d7897bcd3989751c7f45f8 (diff)
Pascal headers moved to include\delphi directory (with small updates)
removed deprecated m_mwclc.h file and link on it in AutoShutdown plugin git-svn-id: http://svn.miranda-ng.org/main/trunk@763 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'include/delphi/m_clistint.inc')
-rw-r--r--include/delphi/m_clistint.inc519
1 files changed, 519 insertions, 0 deletions
diff --git a/include/delphi/m_clistint.inc b/include/delphi/m_clistint.inc
new file mode 100644
index 0000000000..7a0dd226e3
--- /dev/null
+++ b/include/delphi/m_clistint.inc
@@ -0,0 +1,519 @@
+{
+ Miranda IM: the free IM client for Microsoft* Windows*
+
+ Copyright 2000-2008 Miranda ICQ/IM project,
+ all portions of this codebase are copyrighted to the people
+ listed in contributors.txt.
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2
+ of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+}
+
+{$IFDEF M_API_UNIT}
+
+{Type
+ P_menuProto = ^_menuProto;
+ PClcCacheEntryBase = ^ClcCacheEntryBase;
+ PClcContact = ^ClcContact;
+ PClcData = ^ClcData;
+ PClcFontInfo = ^ClcFontInfo;
+ PClcGroup = ^ClcGroup;
+ PClcProtoStatus = ^ClcProtoStatus;
+ PCLIST_INTERFACE = ^CLIST_INTERFACE;
+ PCListEvent = ^CListEvent;
+ PContactList = ^ContactList;
+ PEventList = ^EventList;
+ PMenuProto = ^MenuProto;
+ PMIRANDASYSTRAYNOTIFY = ^MIRANDASYSTRAYNOTIFY;
+ PPROTOCOLDESCRIPTOR = ^PROTOCOLDESCRIPTOR;
+ PtrayIconInfo_t = ^trayIconInfo_t;
+}
+const
+ HCONTACT_ISGROUP = $80000000;
+ HCONTACT_ISINFO = $FFFF0000;
+ MAXEXTRACOLUMNS = 16;
+ MAX_TIP_SIZE = 2048;
+
+function IsHContactGroup (h:THANDLE):bool;
+function IsHContactInfo (h:THANDLE):bool;
+function IsHContactContact(h:THANDLE):bool;
+
+const
+ INTM_NAMECHANGED = WM_USER+10;
+ INTM_ICONCHANGED = WM_USER+11;
+ INTM_GROUPCHANGED = WM_USER+12;
+ INTM_GROUPSCHANGED = WM_USER+13;
+ INTM_CONTACTADDED = WM_USER+14;
+ INTM_CONTACTDELETED = WM_USER+15;
+ INTM_HIDDENCHANGED = WM_USER+16;
+ INTM_INVALIDATE = WM_USER+17;
+ INTM_APPARENTMODECHANGED = WM_USER+18;
+ INTM_SETINFOTIPHOVERTIME = WM_USER+19;
+ INTM_NOTONLISTCHANGED = WM_USER+20;
+ INTM_RELOADOPTIONS = WM_USER+21;
+ INTM_NAMEORDERCHANGED = WM_USER+22;
+ INTM_IDLECHANGED = WM_USER+23;
+ INTM_SCROLLBARCHANGED = WM_USER+24;
+ INTM_PROTOCHANGED = WM_USER+25;
+
+ TIMERID_RENAME = 10;
+ TIMERID_DRAGAUTOSCROLL = 11;
+ TIMERID_INFOTIP = 13;
+ TIMERID_REBUILDAFTER = 14;
+ TIMERID_DELAYEDRESORTCLC = 15;
+ TIMERID_TRAYHOVER = 16;
+ TIMERID_TRAYHOVER_2 = 17;
+
+ GROUP_ALLOCATE_STEP = 8;
+
+type
+ PClcContact = ^ClcContact;
+ ClcContact = record
+ {undefined structure}
+ end;
+
+ PClcData = ^ClcData;
+ ClcData = record
+ {undefined structure}
+ end;
+
+{ templates, where are you... }
+
+ PContactList = ^ContactList;
+ ContactList = record
+ items : ^PClcContact;
+ count : int;
+ limit : int;
+ increment : int;
+ sortFunc : pointer;
+ end;
+
+ PEventList = ^EventList;
+ EventList = record
+ items : ^PCListEvent;
+ count : int;
+ limit : int;
+ increment : int;
+ sortFunc : pointer;
+ end;
+
+ PClcGroup = ^ClcGroup;
+ ClcGroup = record
+ cl : ContactList;
+ expanded : int;
+ hideOffline : int;
+ groupId : int;
+ parent : PClcGroup;
+ scanIndex : int;
+ totalMembers : int;
+ end;
+
+ PClcFontInfo = ^ClcFontInfo;
+ ClcFontInfo = record
+ hFont : HFONT;
+ fontHeight : int;
+ changed : int;
+ colour : COLORREF;
+ end;
+
+ PtrayIconInfo_t = ^trayIconInfo_t;
+ trayIconInfo_t = record
+ id : int;
+ szProto : PAnsiChar;
+ hBaseIcon : HICON;
+ isBase : int;
+ ptszToolTip : TChar;
+ end;
+
+{This is DLL-based unique name }
+
+ P_menuProto = ^_menuProto;
+ _menuProto = record
+ szProto : PAnsiChar;
+ pMenu : HGENMENU;
+ hIcon : HICON;
+ end;
+ MenuProto = _menuProto;
+ PMenuProto = ^MenuProto;
+{ constants }
+
+const
+ DRAGSTAGE_NOTMOVED = 0;
+ DRAGSTAGE_ACTIVE = 1;
+ DRAGSTAGEM_STAGE = $00FF;
+ DRAGSTAGEF_MAYBERENAME = $8000;
+ DRAGSTAGEF_OUTSIDE = $4000;
+
+ CONTACTF_ONLINE = 1;
+ CONTACTF_INVISTO = 2;
+ CONTACTF_VISTO = 4;
+ CONTACTF_NOTONLIST = 8;
+ CONTACTF_CHECKED = 16;
+ CONTACTF_IDLE = 32;
+
+ DROPTARGET_OUTSIDE = 0;
+ DROPTARGET_ONSELF = 1;
+ DROPTARGET_ONNOTHING = 2;
+ DROPTARGET_ONGROUP = 3;
+ DROPTARGET_ONCONTACT = 4;
+ DROPTARGET_INSERTION = 5;
+
+ CLCDEFAULT_ROWHEIGHT = 16;
+ CLCDEFAULT_EXSTYLE = CLS_EX_EDITLABELS or CLS_EX_TRACKSELECT or
+ CLS_EX_SHOWGROUPCOUNTS or CLS_EX_HIDECOUNTSWHENEMPTY or
+ CLS_EX_TRACKSELECT or CLS_EX_NOTRANSLUCENTSEL;
+ //plus CLS_EX_NOSMOOTHSCROLL is got from the system
+ CLCDEFAULT_SCROLLTIME = 150;
+ CLCDEFAULT_GROUPINDENT = 5;
+ CLCDEFAULT_USEBITMAP = 0;
+ CLCDEFAULT_BKBMPUSE = CLB_STRETCH;
+ CLCDEFAULT_OFFLINEMODES = MODEF_OFFLINE;
+ CLCDEFAULT_GREYOUTFLAGS = 0;
+ CLCDEFAULT_SELBLEND = 1;
+ CLCDEFAULT_FULLGREYOUTFLAGS = MODEF_OFFLINE or PF2_INVISIBLE or GREYF_UNFOCUS;
+ CLCDEFAULT_QUICKSEARCHCOLOUR = $0000FFFF; //RGB(255,255,0);
+ CLCDEFAULT_LEFTMARGIN = 0;
+ CLCDEFAULT_GAMMACORRECT = 1;
+ CLCDEFAULT_SHOWIDLE = 1;
+ CLCDEFAULT_USEWINDOWSCOLOURS = 0;
+
+ TRAYICON_ID_BASE = 100;
+ TIM_CALLBACK = WM_USER+1857;
+ TIM_CREATE = WM_USER+1858;
+
+function CLCDEFAULT_BKCOLOUR:dword;
+function CLCDEFAULT_TEXTCOLOUR:dword;
+function CLCDEFAULT_SELBKCOLOUR:dword;
+function CLCDEFAULT_SELTEXTCOLOUR:dword;
+function CLCDEFAULT_HOTTEXTCOLOUR:dword;
+
+const
+{
+ Miranda 0.4.3.0+
+ retrieves the pointer to a CLIST_INTERFACE structure
+ NOTE: valid only for the clist clone building, not for the regular use
+}
+ MS_CLIST_RETRIEVE_INTERFACE:PansiChar = 'CList/RetrieveInterface';
+
+ {**************************************************************************
+ * CLIST_INTERFACE structure definition
+ ************************************************************************** }
+
+type
+ PClcProtoStatus = ^ClcProtoStatus;
+ ClcProtoStatus = record
+ szProto :PAnsiChar;
+ dwStatus:dword;
+ end;
+
+type
+ PClcCacheEntryBase = pointer;
+ PClcCacheEntryBaseA = ^ClcCacheEntryBaseA;
+ ClcCacheEntryBaseA = record
+ hContact:THANDLE;
+ name :TCHAR;
+ group :TCHAR;
+ isHidden:int;
+ end;
+ PClcCacheEntryBaseW = ^ClcCacheEntryBaseW;
+ ClcCacheEntryBaseW = record
+ hContact:THANDLE;
+ name :TCHAR;
+ szName :PAnsiChar;
+ group :TCHAR;
+ isHidden:int;
+ end;
+
+type
+ PCLIST_INTERFACE = ^CLIST_INTERFACE;
+ CLIST_INTERFACE = record
+ version : int;
+ hwndContactList : HWND;
+ hwndContactTree : HWND;
+ hwndStatus : HWND;
+ hMenuMain : HMENU;
+ hInst : HMODULE;
+ hClcProtoCount : int;
+ clcProto : PClcProtoStatus;
+
+ (* clc.h *)
+ pfnClcOptionsChanged : procedure ;cdecl;
+ pfnClcBroadcast : procedure (_para1:int; _para2:WPARAM; _para3:LPARAM); cdecl;
+ pfnBuildGroupPopupMenu : function (_para1:PClcGroup):HMENU; cdecl;
+
+ pfnContactListControlWndProc:function(hwnd:HWND; msg:uint; wParam:WPARAM; lParam:LPARAM):LRESULT; stdcall;
+
+ (* clcfiledrop.c *)
+ pfnRegisterFileDropping : procedure (hwnd:HWND); cdecl;
+ pfnUnregisterFileDropping : procedure (hwnd:HWND); cdecl;
+
+ (* clcidents.c *)
+ pfnGetRowsPriorTo : function (var group:ClcGroup; var subgroup:ClcGroup;
+ contactIndex:int):int; cdecl;
+ pfnFindItem : function (hwnd:HWND; var dat:ClcData; hItem:THANDLE;
+ var contact:PClcContact; var subgroup:PClcGroup;
+ var isVisible:int):int; cdecl;
+ pfnGetRowByIndex : function (var dat:ClcData; testindex:int;
+ var contact:PClcContact; var subgroup:PClcGroup):int; cdecl;
+ pfnContactToHItem : function (var contact:ClcContact):THANDLE;cdecl;
+ pfnContactToItemHandle : function (var contact:ClcContact; var nmFlags:DWORD):THANDLE; cdecl;
+
+ (* clcitems.c *)
+ pfnCreateClcContact : function :PClcContact; cdecl;
+ pfnAddGroup : function (hwnd:HWND; var dat:ClcData; szName:TChar;
+ flags:DWORD; groupId:int; calcTotalMembers:int):PClcGroup; cdecl;
+ pfnRemoveItemFromGroup : function (hwnd:HWND; var group:ClcGroup;
+ var contact:ClcContact; updateTotalCount:int):PClcGroup; cdecl;
+
+ pfnFreeContact : procedure (var contact:ClcContact); cdecl;
+ pfnFreeGroup : procedure (var group:ClcGroup); cdecl;
+
+ pfnAddInfoItemToGroup : function (var group:ClcGroup; flags:int; pszText:TChar):int; cdecl;
+ pfnAddItemToGroup : function (var group:ClcGroup; iAboveItem:int):int; cdecl;
+ pfnAddContactToGroup : function (var dat:ClcData; var group:ClcGroup;
+ hContact:THANDLE):int; cdecl;
+ pfnAddContactToTree : procedure (hwnd:HWND; var dat:ClcData; hContact:THANDLE;
+ updateTotalCount:int; checkHideOffline:int); cdecl;
+ pfnDeleteItemFromTree : procedure (hwnd:HWND; hItem:THANDLE); cdecl;
+ pfnRebuildEntireList : procedure (hwnd:HWND; var dat:ClcData); cdecl;
+ pfnGetGroupContentsCount : function (var group:ClcGroup; visibleOnly:int):int; cdecl;
+ pfnSortCLC : procedure (hwnd:HWND; var dat:ClcData; useInsertionSort:int); cdecl;
+ pfnSaveStateAndRebuildList : procedure (hwnd:HWND; var dat:ClcData); cdecl;
+
+ (* clcmsgs.c *)
+ pfnProcessExternalMessages : function (hwnd:HWND; var dat:ClcData; msg:UINT;
+ wParam:WPARAM; lParam:LPARAM):LRESULT; cdecl;
+
+ (* clcpaint.c *)
+ pfnPaintClc : procedure (hwnd:HWND; var dat:ClcData; hdc:HDC; var rcPaint:TRECT); cdecl;
+
+ (* clcutils.c *)
+ pfnGetGroupCountsText : function (var dat:ClcData; var contact:ClcContact):PAnsiChar; cdecl;
+ pfnHitTest : function (hwnd:HWND; var dat:ClcData; testx:int;
+ testy:int; var contact:PClcContact;
+ var group:PClcGroup; var flags:DWORD):int; cdecl;
+ pfnScrollTo : procedure (hwnd:HWND; var dat:ClcData; desty:int; noSmooth:int); cdecl;
+ pfnEnsureVisible : procedure (hwnd:HWND; var dat:ClcData; iItem:int; partialOk:int); cdecl;
+ pfnRecalcScrollBar : procedure (hwnd:HWND; var dat:ClcData); cdecl;
+ pfnSetGroupExpand : procedure (hwnd:HWND; var dat:ClcData; var group:ClcGroup; newState:int); cdecl;
+ pfnDoSelectionDefaultAction : procedure (hwnd:HWND; var dat:ClcData); cdecl;
+ pfnFindRowByText : function (hwnd:HWND; var dat:ClcData; text:TChar; prefixOk:int):int; cdecl;
+ pfnEndRename : procedure (hwnd:HWND; var dat:ClcData; save:int); cdecl;
+ pfnDeleteFromContactList : procedure (hwnd:HWND; var dat:ClcData); cdecl;
+ pfnBeginRenameSelection : procedure (hwnd:HWND; var dat:ClcData); cdecl;
+ pfnCalcEipPosition : procedure (var dat:ClcData; var contact:ClcContact; var group:ClcGroup; var result:TPOINT); cdecl;
+ pfnGetDropTargetInformation : function (hwnd:HWND; var dat:ClcData; pt:TPOINT):int; cdecl;
+ pfnClcStatusToPf2 : function (status:int):int; cdecl;
+ pfnIsHiddenMode : function (var dat:ClcData; status:int):int; cdecl;
+ pfnHideInfoTip : procedure (hwnd:HWND; var dat:ClcData); cdecl;
+ pfnNotifyNewContact : procedure (hwnd:HWND; hContact:THANDLE); cdecl;
+ pfnGetDefaultExStyle : function :DWORD; cdecl;
+ pfnGetDefaultFontSetting : procedure (i:int; var lf:LOGFONT; var colour:COLORREF); cdecl;
+ pfnGetFontSetting : procedure (i:int; var lf:LOGFONT; var colour:COLORREF); cdecl;
+ pfnLoadClcOptions : procedure (hwnd:HWND; var dat:ClcData); cdecl;
+ pfnRecalculateGroupCheckboxes : procedure (hwnd:HWND; var dat:ClcData); cdecl;
+ pfnSetGroupChildCheckboxes : procedure (var group:ClcGroup; checked:int); cdecl;
+ pfnInvalidateItem : procedure (hwnd:HWND; var dat:ClcData; iItem:int); cdecl;
+
+ pfnGetRowBottomY : function (var dat:ClcData; item:int):int; cdecl;
+ pfnGetRowHeight : function (var dat:ClcData; item:int):int; cdecl;
+ pfnGetRowTopY : function (var dat:ClcData; item:int):int; cdecl;
+ pfnGetRowTotalHeight : function (var dat:ClcData):int; cdecl;
+ pfnRowHitTest : function (var dat:ClcData; y:int):int; cdecl;
+
+ (* clistevents.c *)
+ pfnEventsProcessContactDoubleClick : function (hContact:THANDLE):int; cdecl;
+ pfnEventsProcessTrayDoubleClick : function (_para1:int):int; cdecl;
+
+ (* clistmod.c *)
+ pfnIconFromStatusMode : function (szProto:PAnsiChar; status:int; hContact:THANDLE):int; cdecl;
+ pfnShowHide : function (_para1:WPARAM; _para2:LPARAM):int; cdecl;
+ pfnGetStatusModeDescription : function (mode:int; flags:int):TChar; cdecl;
+
+ (* clistsettings.c *)
+ pfnGetCacheEntry : function (hContact:THANDLE):PClcCacheEntryBase; cdecl;
+ pfnCreateCacheItem : function (hContact:THANDLE):PClcCacheEntryBase; cdecl;
+ pfnCheckCacheItem : procedure (_para1:PClcCacheEntryBase); cdecl;
+ pfnFreeCacheItem : procedure (_para1:PClcCacheEntryBase); cdecl;
+
+ pfnGetContactDisplayName : function (hContact:THANDLE; mode:int):TChar; cdecl;
+ pfnInvalidateDisplayNameCacheEntry : procedure (hContact:THANDLE); cdecl;
+
+ (* clisttray.c *)
+ pfnTrayIconUpdateWithImageList : procedure (iImage:int; szNewTip:TChar;
+ szPreferredProto:PAnsiChar); cdecl;
+ pfnTrayIconUpdateBase : procedure (szChangedProto:PAnsiChar); cdecl;
+ pfnTrayIconSetToBase : procedure (szPreferredProto:PAnsiChar); cdecl;
+ pfnTrayIconIconsChanged : procedure ; cdecl;
+ pfnTrayIconPauseAutoHide : function (wParam:WPARAM; lParam:LPARAM):int; cdecl;
+ pfnTrayIconProcessMessage : function (wParam:WPARAM; lParam:LPARAM):int_ptr; cdecl;
+ pfnCListTrayNotify : function (_para1:PMIRANDASYSTRAYNOTIFY):int; cdecl;
+
+ (* clui.c *)
+ pfnContactListWndProc:function(hwnd:HWND; msg:uint; wParam:WPARAM; lParam:LPARAM):int; stdcall;
+
+ pfnCluiProtocolStatusChanged : procedure (status:int; szProto:PAnsiChar); cdecl;
+ pfnDrawMenuItem : procedure (_para1:PDRAWITEMSTRUCT; _para2:HICON;
+ _para3:HICON); cdecl;
+ pfnLoadCluiGlobalOpts : procedure ; cdecl;
+ pfnInvalidateRect : function (hwnd:HWND; var lpRect:TRECT; bErase:BOOL):BOOL; cdecl;
+ pfnOnCreateClc : procedure ; cdecl;
+
+ (* contact.c *)
+ pfnChangeContactIcon : procedure (hContact:THANDLE; iIcon:int; add:int); cdecl;
+ pfnLoadContactTree : procedure ; cdecl;
+ pfnCompareContacts : function (var contact1:ClcContact; var contact2:ClcContact):int; cdecl;
+ pfnSortContacts : procedure ; cdecl;
+ pfnSetHideOffline : function (wParam:WPARAM; lParam:LPARAM):int; cdecl;
+
+ (* docking.c *)
+ pfnDocking_ProcessWindowMessage : function (wParam:WPARAM; lParam:LPARAM):int; cdecl;
+
+ (* group.c *)
+ pfnGetGroupName : function (idx:int; var pdwFlags:DWORD):TChar; cdecl;
+ pfnRenameGroup : function (groupID:int; newName:TChar):int; cdecl;
+
+ (* keyboard.c *)
+ pfnHotKeysRegister : function (hwnd:HWND):int; cdecl;
+ pfnHotKeysUnregister : procedure (hwnd:HWND); cdecl;
+ pfnHotKeysProcess : function (hwnd:HWND; wParam:WPARAM; lParam:LPARAM):int; cdecl;
+ pfnHotkeysProcessMessage : function (wParam:WPARAM; lParam:LPARAM):int; cdecl;
+
+ (*************************************************************************************
+ * version 2 - events processing
+ *************************************************************************************)
+
+ events : EventList;
+
+ pfnCreateEvent : function :PCListEvent; cdecl;
+ pfnFreeEvent : procedure (_para1:PCListEvent); cdecl;
+
+ pfnAddEvent : function (_para1:PCLISTEVENT):PCListEvent; cdecl;
+ pfnGetEvent : function (hContact:THANDLE; idx:int):PCLISTEVENT; cdecl;
+
+ pfnRemoveEvent : function (hContact:THANDLE; hDbEvent:THANDLE):int; cdecl;
+ pfnGetImlIconIndex : function (hIcon:HICON):int; cdecl;
+
+ (*************************************************************************************
+ * version 3 additions
+ *************************************************************************************)
+
+ pfnGetWindowVisibleState : function (hWnd:HWND; iStepX:int; iStepY:int):int; cdecl;
+
+ (*************************************************************************************
+ * version 4 additions (0.7.0.x) - genmenu
+ *************************************************************************************)
+
+ menuProtos : PMenuProto;
+ menuProtoCount : int;
+
+ hPreBuildStatusMenuEvent : THANDLE;
+ currentStatusMenuItem : int;
+ currentDesiredStatusMode : int;
+ bDisplayLocked : BOOL;
+
+ pfnGetProtocolMenu : function (_para1:PAnsiChar):HGENMENU; cdecl;
+ pfnStub2 : function (_para1:int):int; cdecl;
+
+ pfnGetProtocolVisibility : function (_para1:PAnsiChar):int; cdecl;
+ pfnGetProtoIndexByPos : function (var proto:PPROTOCOLDESCRIPTOR;
+ protoCnt:int; Pos:int):int; cdecl;
+ pfnReloadProtoMenus : procedure ; cdecl;
+
+ (*************************************************************************************
+ * version 5 additions (0.7.0.x) - tray icons
+ *************************************************************************************)
+
+ trayIcon : PtrayIconInfo_t;
+ trayIconCount : int;
+ shellVersion : int;
+ cycleTimerId : uint_ptr;
+ cycleStep : int;
+ szTip : TChar;
+ bTrayMenuOnScreen : BOOL;
+
+ pfnGetIconFromStatusMode : function (hContact:THANDLE; szProto:PAnsiChar;
+ status:int):HICON; cdecl;
+
+ pfnInitTray : procedure ; cdecl;
+ pfnTrayIconAdd : function (hwnd:HWND; szProto:PAnsiChar; szIconProto:PAnsiChar;
+ status:int):int; cdecl;
+ pfnTrayIconDestroy : function (hwnd:HWND):int; cdecl;
+ pfnTrayIconInit : function (hwnd:HWND):int; cdecl;
+ pfnTrayIconMakeTooltip : function (szPrefix:TChar; szProto:PAnsiChar):TChar; cdecl;
+ pfnTrayIconRemove : procedure (hwnd:HWND; szProto:PAnsiChar); cdecl;
+ pfnTrayIconSetBaseInfo : function (hIcon:HICON; szPreferredProto:PAnsiChar):int; cdecl;
+ pfnTrayIconTaskbarCreated : procedure (hwnd:HWND); cdecl;
+ pfnTrayIconUpdate : function (hNewIcon:HICON; szNewTip:TChar;
+ szPreferredProto:PAnsiChar; isBase:int):int; cdecl;
+
+ pfnUninitTray : procedure ; cdecl;
+ pfnLockTray : procedure ; cdecl;
+ pfnUnlockTray : procedure ; cdecl;
+
+ pfnTrayCycleTimerProc : procedure(hwnd:HWND;message:uint;idEvent:uint_ptr;dwTime:DWORD); stdcall;
+
+ (*************************************************************************************
+ * version 6 additions (0.8.0.x) - accounts
+ *************************************************************************************)
+ pfnGetAccountIndexByPos : function (pos:int):int; cdecl;
+ pfnConvertMenu: function( clitem:PCLISTMENUITEM; moitem:PMO_MenuItem):int; cdecl;
+ end;
+
+{
+var
+ cli : CLIST_INTERFACE;cvar;external;
+}
+
+{$ELSE}
+
+function IsHContactGroup(h:THANDLE):bool;
+begin
+ result:=(h xor HCONTACT_ISGROUP)<(HCONTACT_ISGROUP xor HCONTACT_ISINFO);
+end;
+function IsHContactInfo(h:THANDLE):bool;
+begin
+ result:=(h and HCONTACT_ISINFO)=HCONTACT_ISINFO;
+end;
+function IsHContactContact(h:THANDLE):bool;
+begin
+ result:=(h and HCONTACT_ISGROUP)=0;
+end;
+
+function CLCDEFAULT_BKCOLOUR:dword;
+begin
+ result:=GetSysColor(COLOR_3DFACE);
+end;
+function CLCDEFAULT_TEXTCOLOUR:dword;
+begin
+ result:=GetSysColor(COLOR_WINDOWTEXT);
+end;
+function CLCDEFAULT_SELBKCOLOUR:dword;
+begin
+ result:=GetSysColor(COLOR_HIGHLIGHT);
+end;
+function CLCDEFAULT_SELTEXTCOLOUR:dword;
+begin
+ result:=GetSysColor(COLOR_HIGHLIGHTTEXT);
+end;
+function CLCDEFAULT_HOTTEXTCOLOUR:dword;
+begin
+{
+ if IsWinVer98Plus then
+ result:=RGB(0,0,255)
+ else
+}
+ result:=GetSysColor(COLOR_HOTLIGHT);
+end;
+{$ENDIF}