From 6a9ca768674c3bee792a27be74e5aac8d78583bd Mon Sep 17 00:00:00 2001 From: Vadim Dashevskiy Date: Thu, 1 Nov 2012 15:21:14 +0000 Subject: ExtraIcons plugin deleted and removed from sln (not needed anymore, plugin moved to the core) git-svn-id: http://svn.miranda-ng.org/main/trunk@2132 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/ExtraIcons/src/usedIcons.cpp | 107 ----------------------------------- 1 file changed, 107 deletions(-) delete mode 100644 plugins/ExtraIcons/src/usedIcons.cpp (limited to 'plugins/ExtraIcons/src/usedIcons.cpp') diff --git a/plugins/ExtraIcons/src/usedIcons.cpp b/plugins/ExtraIcons/src/usedIcons.cpp deleted file mode 100644 index 1a7ccf7492..0000000000 --- a/plugins/ExtraIcons/src/usedIcons.cpp +++ /dev/null @@ -1,107 +0,0 @@ -/* - Copyright (C) 2009 Ricardo Pescuma Domenecci - - This is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this file; see the file license.txt. If - not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. - */ - -#include "commons.h" - -struct Icon -{ - string name; - int refCount; - HANDLE hImage; - - Icon(const char *icolibName) : - name(icolibName), refCount(0), hImage(INVALID_HANDLE_VALUE) - { - } -}; - -static vector usedIcons; - -static Icon * FindIcon(const char *icolibName) -{ - Icon *icon = NULL; - - for (unsigned int i = 0; i < usedIcons.size(); ++i) - { - Icon *tmp = &usedIcons[i]; - if (tmp->name != icolibName) - continue; - - icon = tmp; - break; - } - - if (icon == NULL) - { - usedIcons.push_back(Icon(icolibName)); - icon = &usedIcons[usedIcons.size() - 1]; - } - - if (icon->hImage == INVALID_HANDLE_VALUE) - { - HICON hIcon = IcoLib_LoadIcon(icon->name.c_str()); - if (hIcon != NULL) - { - icon->hImage = (HANDLE) CallService(MS_CLIST_EXTRA_ADD_ICON, (WPARAM) hIcon, 0); - Skin_ReleaseIcon(hIcon); - } - } - - return icon; -} - -HANDLE GetIcon(const char *icolibName) -{ - return FindIcon(icolibName)->hImage; -} - -HANDLE AddIcon(const char *icolibName) -{ - Icon *icon = FindIcon(icolibName); - icon->refCount++; - return icon->hImage; -} - -void RemoveIcon(const char *icolibName) -{ - for (unsigned int i = 0; i < usedIcons.size(); ++i) - { - Icon *icon = &usedIcons[i]; - - if (icon->name != icolibName) - continue; - - icon->refCount--; - break; - } -} - -static bool NotUsedIcon(const Icon &icon) -{ - return icon.refCount <= 0; -} - -void ResetIcons() -{ - usedIcons.erase(std::remove_if(usedIcons.begin(), usedIcons.end(), NotUsedIcon), usedIcons.end()); - - for (unsigned int i = 0; i < usedIcons.size(); ++i) - usedIcons[i].hImage = INVALID_HANDLE_VALUE; -} - -- cgit v1.2.3