From 02ed4455c23e3562d71bfc80a0e2c4fede8708f1 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sun, 14 Jun 2015 13:17:26 +0000 Subject: - all icolib services removed; - IcoLib_* functions are bound directly to the code git-svn-id: http://svn.miranda-ng.org/main/trunk@14161 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- include/delphi/m_helpers.inc | 2 +- include/delphi/m_icolib.inc | 61 ++++++++++++++++++++++---------------------- 2 files changed, 32 insertions(+), 31 deletions(-) (limited to 'include/delphi') diff --git a/include/delphi/m_helpers.inc b/include/delphi/m_helpers.inc index 2eb70b9478..550a766780 100644 --- a/include/delphi/m_helpers.inc +++ b/include/delphi/m_helpers.inc @@ -553,7 +553,7 @@ end; function Skin_AddIcon(si:PSKINICONDESC):THANDLE; begin - result:=CallService(MS_SKIN2_ADDICON, hLangpack, LPARAM(si)); + result:=IcoLib_AddIcon(si, hLangpack); end; procedure Icon_Register(hInst:HINST; const szSection:PAnsiChar; pIcons:pIconItem; iCount:size_t; prefix:PAnsiChar); diff --git a/include/delphi/m_icolib.inc b/include/delphi/m_icolib.inc index f20a919b17..89b1701b21 100644 --- a/include/delphi/m_icolib.inc +++ b/include/delphi/m_icolib.inc @@ -28,24 +28,24 @@ const SIDF_PATH_UNICODE = $200; // Default File is in UCS-2 SIDF_ALL_UNICODE = SIDF_PATH_UNICODE or SIDF_UNICODE; -const { Add a icon into options UI - - wParam = 0 - lParam = PSKINICONDESC returns a handle to the newly added item } - MS_SKIN2_ADDICON:PAnsiChar = 'Skin2/Icons/AddIcon'; + +function IcoLib_AddIcon(pIcon:PSKINICONDESC; iLang:int):THANDLE; stdcall; + external AppDLL name 'IcoLib_AddIcon'; { Remove a icon from options UI - - wParam = (THANDLE)icon handle - lParam = (PChar)icon name, one of them must be specified WARNING: This will invalidate all HICONs retrieved for specified pszName } - MS_SKIN2_REMOVEICON:PAnsiChar = 'Skin2/Icons/RemoveIcon'; + +procedure IcoLib_RemoveIcon(iconName:PAnsiChar); stdcall; + external AppDLL name 'IcoLib_RemoveIcon'; +procedure IcoLib_RemoveIconByHandle(icon:THandle); stdcall; + external AppDLL name 'IcoLib_RemoveIconByHandle'; + { Retrieve HICON with name specified in lParam Returned HICON SHOULDN'T be destroyed, it managed by IcoLib @@ -53,24 +53,23 @@ const wParam = 0 - small 1 - big lParam = pszName } - MS_SKIN2_GETICON :PAnsiChar = 'Skin2/Icons/GetIcon'; -{ - Retrieve an icolib handle for icon by name specified in lParam - - wParam = 0 - lParam = (LPARAM)(char*)pszName -} - MS_SKIN2_GETICONHANDLE:PAnsiChar = 'Skin2/Icons/GetIconHandle'; +function IcoLib_GetIcon(iconName:PAnsiChar; big:byte) : HICON; stdcall; + external AppDLL name 'IcoLib_GetIcon'; { Retrieve HICON with HANDLE specified in lParam Returned HICON SHOULDN'T be destroyed, it is managed by IcoLib +} - wParam = (WPARAM)0 - small 1 - big - lParam = (HANDLE)hIcoLibIcon +function IcoLib_GetIconByHandle(icon:THandle; big:byte) : HICON; stdcall; + external AppDLL name 'IcoLib_GetIconByHandle'; +{ + Retrieve an icolib handle for icon by name specified in lParam } - MS_SKIN2_GETICONBYHANDLE:PAnsiChar = 'Skin2/Icons/GetIconByHandle'; + +function IcoLib_GetIconHandle(iconName:PAnsiChar):THandle; stdcall; + external AppDLL name 'IcoLib_GetIconHandle'; { Add reference to HICON @@ -78,28 +77,30 @@ const wParam = (WPARAM)HICON lParam = 0 - small 1 - big } - MS_SKIN2_ADDREFICON:PAnsiChar = 'Skin2/Icons/AddRef'; + +function IcoLib_AddRef(icon:HICON) : int; stdcall; + external AppDLL name 'IcoLib_AddRef'; { Retrieved HICON is not needed anymore (this helps optimize GDI usage) - - wParam = HICON (optional) - lParam = pszName (optional) // at least one needs to be specified } - MS_SKIN2_RELEASEICON :PAnsiChar = 'Skin2/Icons/ReleaseIcon'; - MS_SKIN2_RELEASEICONBIG:PAnsiChar = 'Skin2/Icons/ReleaseIconBig'; + +function IcoLib_Release(iconName:PAnsiChar; big:byte) : int; stdcall; + external AppDLL name 'IcoLib_Release'; +function IcoLib_ReleaseIcon(icon:THandle; big:byte) : int; stdcall; + external AppDLL name 'IcoLib_ReleaseIcon'; { Check whether HICON is managed by IcoLib - - wParam = (WPARAM)HICON - lParam = 0 } - MS_SKIN2_ISMANAGEDICON:PAnsiChar = 'Skin2/Icons/IsManaged'; + +function IcoLib_IsManaged(icon:HICON) : THandle; stdcall; + external AppDLL name 'IcoLib_IsManaged'; { Icons change notification } +const ME_SKIN2_ICONSCHANGED:PAnsiChar = 'Skin2/IconsChanged'; {$ENDIF} -- cgit v1.2.3