From 65e002b63efdb00571d0ba4ec1a73b14e1d7d3a0 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 4 Jul 2012 20:10:29 +0000 Subject: 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 --- include/delphi/m_icolib.inc | 106 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 include/delphi/m_icolib.inc (limited to 'include/delphi/m_icolib.inc') diff --git a/include/delphi/m_icolib.inc b/include/delphi/m_icolib.inc new file mode 100644 index 0000000000..3c358c3f49 --- /dev/null +++ b/include/delphi/m_icolib.inc @@ -0,0 +1,106 @@ +{$IFNDEF ICOLIB} +{$DEFINE ICOLIB} + +type +// WARNING: do not use Translate(TS) for p(t)szSection or p(t)szDescription as they +// are translated by the core, which may lead to double translation. +// Use LPGEN instead which are just dummy wrappers/markers for "lpgen.pl". + PSKINICONDESC = ^TSKINICONDESC; + TSKINICONDESC = record + cbSize :int; + szSection :TChar; // [TRANSLATED-BY-CORE] section name used to group icons + szDescription :TChar; // [TRANSLATED-BY-CORE] description for options dialog + pszName :PAnsiChar; // name to refer to icon when playing and in db + // this name is miranda-wide. so use prefixes of + // your plugin: "isee_connect", "clist_delete", etc + szDefaultFile :TChar; // default icon file to use + iDefaultIndex :int; // index of icon in default file + // V2 + hDefaultIcon :HICON; // handle to default icon + // V3 + cx, cy :int; // dimensions of icon (if 0 then standard size icon (big and small options available) + // new + flags :int; + end; + +const + SIDF_SORTED = 1; // Icons in section are sorted by name + SIDF_UNICODE = $100; // Section and Description are in UCS-2 + 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'; + +{ + Remove a icon from options UI + + wParam = 0 + lParam = pszName + WARNING: This will invalidate all HICONs retrieved for specified pszName +} + MS_SKIN2_REMOVEICON:PAnsiChar = 'Skin2/Icons/RemoveIcon'; +{ + Retrieve HICON with name specified in lParam + Returned HICON SHOULDN'T be destroyed, it managed by IcoLib + + 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'; + +{ + 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 +} + MS_SKIN2_GETICONBYHANDLE:PAnsiChar = 'Skin2/Icons/GetIconByHandle'; + +{ + Add reference to HICON + + wParam = (WPARAM)HICON + lParam = 0 - small 1 - big +} + MS_SKIN2_ADDREFICON:PAnsiChar = 'Skin2/Icons/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'; + +{ + Check whether HICON is managed by IcoLib + + wParam = (WPARAM)HICON + lParam = 0 +} + MS_SKIN2_ISMANAGEDICON:PAnsiChar = 'Skin2/Icons/IsManaged'; + +{ + Icons change notification +} + ME_SKIN2_ICONSCHANGED:PAnsiChar = 'Skin2/IconsChanged'; + +{$ENDIF} -- cgit v1.2.3