/*==LICENSE==* CyanWorlds.com Engine - MMOG client, server and tools Copyright (C) 2011 Cyan Worlds, Inc. 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 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 General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . You can contact Cyan Worlds, Inc. by email legal@cyan.com or by snail mail at: Cyan Worlds, Inc. 14617 N Newport Hwy Mead, WA 99021 *==LICENSE==*/ /////////////////////////////////////////////////////////////////////////////// // // // plFontCache Class Header // // Generic cache lib for our plFonts. Basically just a simple plFont // // manager. // // // // Cyan, Inc. // // // //// Version History ////////////////////////////////////////////////////////// // // // 3.12.2003 mcn - Created. // // // /////////////////////////////////////////////////////////////////////////////// #ifndef _plFontCache_h #define _plFontCache_h #include "hsTypes.h" #include "hsTemplates.h" #include "../pnKeyedObject/hsKeyedObject.h" //// Class Definition ///////////////////////////////////////////////////////// class plFont; class plFontCache : public hsKeyedObject { protected: hsTArray fCache; char *fCustFontDir; static plFontCache *fInstance; void ILoadCustomFonts( void ); public: CLASSNAME_REGISTER( plFontCache ); GETINTERFACE_ANY( plFontCache, hsKeyedObject ); plFontCache(); virtual ~plFontCache(); virtual void Read( hsStream *s, hsResMgr *mgr ) {} virtual void Write( hsStream *s, hsResMgr *mgr ) {} virtual hsBool MsgReceive( plMessage* pMsg ); static plFontCache &GetInstance( void ); plFont *GetFont( const char *face, UInt8 size, UInt32 fontFlags ); // HFONT GetMeAFont( const char *face, int height, int weight, hsBool italic, UInt32 quality ); // void FreeFont( HFONT font ); void Clear( void ); void LoadCustomFonts( const char *dir ); // Our custom font extension static char *kCustFontExtension; }; #endif // _plFontCache_h