From f04d64869f3b1de54fb343f28f955584780001b8 Mon Sep 17 00:00:00 2001 From: mataes2007 Date: Sat, 26 Nov 2011 15:41:10 +0000 Subject: Project folders rename part 3 git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@215 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb --- Popup/src/font.cpp | 154 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 Popup/src/font.cpp (limited to 'Popup/src/font.cpp') diff --git a/Popup/src/font.cpp b/Popup/src/font.cpp new file mode 100644 index 0000000..d9502ea --- /dev/null +++ b/Popup/src/font.cpp @@ -0,0 +1,154 @@ +/* +Popup Plus plugin for Miranda IM + +Copyright © 2002 Luca Santarelli, + © 2004-2007 Victor Pavlychko + © 2010 MPK + © 2010 Merlin_de + +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. + +=============================================================================== + +File name : $HeadURL: http://svn.miranda.im/mainrepo/popup/trunk/src/font.cpp $ +Revision : $Revision: 1651 $ +Last change on : $Date: 2010-07-15 20:31:06 +0300 (Чт, 15 июл 2010) $ +Last change by : $Author: Merlin_de $ + +=============================================================================== +*/ + +#include "headers.h" + +PopupFonts fonts = {0}; + +void InitFonts() { + // Fonts + FontIDT fid = {0}; + fid.cbSize = sizeof(FontIDT); + lstrcpy(fid.group, _T(PU_FNT_AND_COLOR)); + strcpy(fid.dbSettingsGroup, PU_FNT_AND_COLOR_DB); + fid.flags = FIDF_DEFAULTVALID; + fid.deffontsettings.charset = DEFAULT_CHARSET; + fid.deffontsettings.size = -11; + lstrcpy(fid.backgroundGroup,_T(PU_FNT_AND_COLOR)); + lstrcpy(fid.backgroundName,_T(PU_COL_BACK_NAME)); + lstrcpy(fid.deffontsettings.szFace, _T("Tahoma")); + + lstrcpy(fid.name, _T(PU_FNT_NAME_TITLE)); + mir_snprintf(fid.prefix, sizeof(fid.prefix), PU_FNT_PREFIX, PU_FNT_NAME_TITLE); + fid.deffontsettings.style = DBFONTF_BOLD; + fid.deffontsettings.colour = RGB(0,0,0); + FontRegisterT(&fid); + + lstrcpy(fid.name, _T(PU_FNT_NAME_CLOCK)); + mir_snprintf(fid.prefix, sizeof(fid.prefix), PU_FNT_PREFIX, PU_FNT_NAME_CLOCK); + //fid.deffontsettings.style = DBFONTF_BOLD; + //fid.deffontsettings.colour = RGB(0,0,0); + FontRegisterT(&fid); + + lstrcpy(fid.name, _T(PU_FNT_NAME_TEXT)); + mir_snprintf(fid.prefix, sizeof(fid.prefix), PU_FNT_PREFIX, PU_FNT_NAME_TEXT); + fid.deffontsettings.style = 0; + //fid.deffontsettings.colour = RGB(0,0,0); + FontRegisterT(&fid); + + lstrcpy(fid.name, _T("Action")); + mir_snprintf(fid.prefix, sizeof(fid.prefix), PU_FNT_PREFIX, "Action"); + //fid.deffontsettings.style = 0; + fid.deffontsettings.colour = RGB(0,0,255); + FontRegisterT(&fid); + + lstrcpy(fid.name, _T("Hovered Action")); + mir_snprintf(fid.prefix, sizeof(fid.prefix), PU_FNT_PREFIX, "Hovered Action"); + fid.deffontsettings.style = DBFONTF_UNDERLINE; + //fid.deffontsettings.colour = RGB(0,0,255); + FontRegisterT(&fid); + + ColourIDT cid = {0}; + cid.cbSize = sizeof(ColourIDT); + lstrcpy(cid.group, _T(PU_FNT_AND_COLOR)); + strcpy(cid.dbSettingsGroup, PU_FNT_AND_COLOR_DB); + + lstrcpy(cid.name, _T(PU_COL_BACK_NAME)); + strcpy(cid.setting, PU_COL_BACK_SETTING); + cid.defcolour = SETTING_BACKCOLOUR_DEFAULT; + CallService(MS_COLOUR_REGISTERT, (WPARAM)&cid, 0); + + lstrcpy(cid.name, _T(PU_COL_AVAT_NAME)); + strcpy(cid.setting, PU_COL_AVAT_SETTING); + cid.defcolour = SETTING_TEXTCOLOUR_DEFAULT; + CallService(MS_COLOUR_REGISTERT, (WPARAM)&cid, 0); + + ReloadFonts(); +} + + +void ReloadFonts() +{ + if (fonts.title) DeleteObject(fonts.title); + if (fonts.clock) DeleteObject(fonts.clock); + if (fonts.text) DeleteObject(fonts.text); + if (fonts.action) DeleteObject(fonts.action); + if (fonts.actionHover) DeleteObject(fonts.actionHover); + + LOGFONT lf = {0}; + FontIDT fid = {0}; + fid.cbSize = sizeof(FontIDT); + lstrcpy(fid.group, _T(PU_FNT_AND_COLOR)); + + lstrcpy(fid.name, _T(PU_FNT_NAME_TITLE)); + fonts.clTitle = (COLORREF)CallService(MS_FONT_GETT, (WPARAM)&fid, (LPARAM)&lf); + fonts.title = CreateFontIndirect(&lf); + + lstrcpy(fid.name, _T(PU_FNT_NAME_CLOCK)); + fonts.clClock = (COLORREF)CallService(MS_FONT_GETT, (WPARAM)&fid, (LPARAM)&lf); + fonts.clock = CreateFontIndirect(&lf); + + lstrcpy(fid.name, _T(PU_FNT_NAME_TEXT)); + fonts.clText = (COLORREF)CallService(MS_FONT_GETT, (WPARAM)&fid, (LPARAM)&lf); + fonts.text = CreateFontIndirect(&lf); + + lstrcpy(fid.name, _T("Action")); + fonts.clAction = (COLORREF)CallService(MS_FONT_GETT, (WPARAM)&fid, (LPARAM)&lf); + fonts.action = CreateFontIndirect(&lf); + + lstrcpy(fid.name, _T("Hovered Action")); + fonts.clActionHover = (COLORREF)CallService(MS_FONT_GETT, (WPARAM)&fid, (LPARAM)&lf); + fonts.actionHover = CreateFontIndirect(&lf); + + ColourIDT cid = {0}; + cid.cbSize = sizeof(ColourIDT); + lstrcpy(cid.group, _T(PU_FNT_AND_COLOR)); + lstrcpy(cid.name, _T(PU_COL_BACK_NAME)); + fonts.clBack = (COLORREF)CallService(MS_COLOUR_GETT, (WPARAM)&cid, (LPARAM)&lf); + + lstrcpy(cid.group, _T(PU_FNT_AND_COLOR)); + lstrcpy(cid.name, _T(PU_COL_AVAT_NAME)); + fonts.clAvatarBorder = (COLORREF)CallService(MS_COLOUR_GETT, (WPARAM)&cid, (LPARAM)&lf); + + //update class popupps(only temp at this point, must rework) + char setting[256]; + for(int i = 0; i < gTreeData.getCount(); i++) { + if(gTreeData[i]->typ == 2) { + mir_snprintf(setting, 256, "%s/TextCol", gTreeData[i]->pupClass.pszName); + gTreeData[i]->colorText = gTreeData[i]->pupClass.colorText = + (COLORREF)DBGetContactSettingDword(0, PU_MODULCLASS, setting, (DWORD)fonts.clText); + mir_snprintf(setting, 256, "%s/BgCol", gTreeData[i]->pupClass.pszName); + gTreeData[i]->colorBack = gTreeData[i]->pupClass.colorBack = + (COLORREF)DBGetContactSettingDword(0, PU_MODULCLASS, setting, (DWORD)fonts.clBack/*pc->colorBack*/); + } + } +} -- cgit v1.2.3