From cb4a46e7fbe62d788e66ed6121c717a2d22a4d7c Mon Sep 17 00:00:00 2001 From: watcherhd Date: Thu, 21 Apr 2011 14:14:52 +0000 Subject: svn.miranda.im is moving to a new home! git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@7 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb --- fingerprint_mod/include/m_icolib.h | 92 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 fingerprint_mod/include/m_icolib.h (limited to 'fingerprint_mod/include/m_icolib.h') diff --git a/fingerprint_mod/include/m_icolib.h b/fingerprint_mod/include/m_icolib.h new file mode 100644 index 0000000..a80d0f4 --- /dev/null +++ b/fingerprint_mod/include/m_icolib.h @@ -0,0 +1,92 @@ +// ---------------------------------------------------------------------------80 +// Icons Library Manager plugin for Miranda Instant Messenger +// __________________________________________________________ +// +// Copyright © 2005 Denis Stanishevskiy // StDenis +// Copyright © 2006 Joe Kucera, Bio +// +// 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. +// +// ----------------------------------------------------------------------------- + +#define SKINICONDESC_SIZE sizeof(SKINICONDESC) // v0.0.1.0+ +#define SKINICONDESC_SIZE_V1 0x18 +#define SKINICONDESC_SIZE_V2 0x1C // v0.0.0.2+ +#define SKINICONDESC_SIZE_V3 0x24 // v0.0.0.3+ + +typedef struct { + int cbSize; + union { + char *pszSection; // section name used to group icons + TCHAR *ptszSection; + wchar_t *pwszSection; + }; + union { + char *pszDescription; // description for options dialog + TCHAR *ptszDescription; + wchar_t *pwszDescription; + }; + char *pszName; // name to refer to icon when playing and in db + char *pszDefaultFile; // default icon file to use + int iDefaultIndex; // index of icon in default file + HICON hDefaultIcon; // handle to default icon + int cx,cy; // dimensions of icon + int flags; // combination of SIDF_* +} SKINICONDESC; + +#define SIDF_SORTED 0x1 // Icons in section are sorted by name +#define SIDF_UNICODE 0x100 // Section and Description are in UCS-2 + +#if defined(_UNICODE) + #define SIDF_TCHAR SIDF_UNICODE +#else + #define SIDF_TCHAR 0 +#endif + +// +// Add a icon into options UI +// +// wParam = (WPARAM)0 +// lParam = (LPARAM)(SKINICONDESC*)sid; +// +#define MS_SKIN2_ADDICON "Skin2/Icons/AddIcon" + +// +// Remove a icon from options UI +// +// wParam = (WPARAM)0 +// lParam = (LPARAM)(char*)pszName +// WARNING: This will invalidate all HICONs retrieved for specified pszName +// +#define MS_SKIN2_REMOVEICON "Skin2/Icons/RemoveIcon" + +// +// Retrieve HICON with name specified in lParam +// Returned HICON SHOULDN'T be destroyed, it is managed by IcoLib +// +#define MS_SKIN2_GETICON "Skin2/Icons/GetIcon" + +// +// Retrieved HICON is not needed anymore (this helps optimize GDI usage) +// +// wParam = (WPARAM)HICON (optional) +// lParam = (LPARAM)(char*)pszName (optional) // at least one needs to be specified +// +#define MS_SKIN2_RELEASEICON "Skin2/Icons/ReleaseIcon" + +// +// Icons change notification +// +#define ME_SKIN2_ICONSCHANGED "Skin2/IconsChanged" -- cgit v1.2.3