File indexing completed on 2024-05-19 15:27:49
0001 /* This file is part of KGraphViewer. 0002 Copyright (C) 2005-2007 Gael de Chalendar <kleag@free.fr> 0003 0004 KGraphViewer is free software; you can redistribute it and/or 0005 modify it under the terms of the GNU General Public 0006 License as published by the Free Software Foundation, version 2. 0007 0008 This program is distributed in the hope that it will be useful, 0009 but WITHOUT ANY WARRANTY; without even the implied warranty of 0010 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 0011 General Public License for more details. 0012 0013 You should have received a copy of the GNU General Public License 0014 along with this program; if not, write to the Free Software 0015 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 0016 02110-1301, USA 0017 */ 0018 0019 #ifndef KGRAPHVIEWER_FONTSCACHE_H 0020 #define KGRAPHVIEWER_FONTSCACHE_H 0021 0022 #include "Singleton.h" 0023 0024 #include <qfont.h> 0025 #include <qmap.h> 0026 #include <qstring.h> 0027 0028 /** 0029 * This is a map of fonts used in KgraphViewer 0030 * 0031 * @short A fonts map 0032 * @author Gaƫl de Chalendar <kleag@free.fr> 0033 */ 0034 class FontsCache : public Singleton<FontsCache>, public QMap<QString, QFont *> 0035 { 0036 friend class Singleton<FontsCache>; 0037 0038 public: 0039 ~FontsCache(); 0040 0041 QFont *cachedFont(const QFont &font); 0042 QFont *fromName(const QString &font); 0043 0044 private: 0045 FontsCache() 0046 { 0047 } 0048 0049 QMap<QString, QFont *> m_namesToFonts; 0050 }; 0051 0052 #endif