// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/> // Copyright (C) 2010 Winch Gate Property Limited // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as // published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. // icon_wnd.h: interface for the CIconWnd class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_ICON_WND_H__12893D3C_9A86_4A7A_A972_7965BDDBD2A2__INCLUDED_) #define AFX_ICON_WND_H__12893D3C_9A86_4A7A_A972_7965BDDBD2A2__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "nel/misc/bitmap.h" class CIconWnd : public CWnd { // Operations public: CIconWnd(); void create (DWORD wStyle, RECT &pos, CWnd *window, uint dialogIndex); private: bool updateStr(); void updateIcon(); void blendIcons(NLMISC::CBitmap &dst, const NLMISC::CBitmap &src); void modulateIcon(NLMISC::CBitmap &dst, const NLMISC::CRGBA &col); bool loadIcon(const std::string &filename, NLMISC::CBitmap &bmp); bool getColorFromStr(const std::string &s, NLMISC::CRGBA &c); void addIconLayer(NLMISC::CBitmap &dst, const std::string iconStr, const std::string iconCol); bool updateWnd(CWnd *pWnd, std::string &str); // Attributes public: uint Id; // Pointer to control window CWnd *pWndIcon; CWnd *pWndIconColor; CWnd *pWndIconBack; CWnd *pWndIconBackColor; CWnd *pWndIconOver; CWnd *pWndIconOverColor; CWnd *pWndIconOver2; CWnd *pWndIconOver2Color; private: // String containing window data std::string strIcon; std::string strIconColor; std::string strIconBack; std::string strIconBackColor; std::string strIconOver; std::string strIconOverColor; std::string strIconOver2; std::string strIconOver2Color; // Bitmap printed on window NLMISC::CBitmap bitmap; // Directory of icons static std::string IconPath; // Implementation public: virtual ~CIconWnd(); // Generated message map functions protected: //{{AFX_MSG(CIconWnd) afx_msg void OnPaint(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; #endif // !defined(AFX_ICON_WND_H__12893D3C_9A86_4A7A_A972_7965BDDBD2A2__INCLUDED_)