00001 /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ 00002 /* _______ ______ ______ __ */ 00003 /* ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ / ____(_)___ / ___ /) / ____/___ ____/ /__ */ 00004 /* [fsBmfFnt] / /_ / / __ \\__ \|/ / / / __ \/ __ / _ \ */ 00005 /* rev. 3 / __/ / / /_/ /__/ / / /___/ /_/ / /_/ / __/ */ 00006 /* 14th Feb 2007 /_/ /_/ ,___/____/ \____/\____/\__,_/\___/ */ 00007 /* [ ] stable /_/ (c) 2006-7 Filip STOKLAS (FipS) */ 00008 /* ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ http://HOLE.4FipS.com/fips_code.php */ 00009 /* */ 00010 /* This code is free for personal and commercial use. You may redistribute */ 00011 /* it by any means. If you use the code for your own projects please give */ 00012 /* me credit. Please send a bug report. Don't alter or remove this header! */ 00013 /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ 00014 #ifndef FS_RAS_FSBMFFNT_H 00015 #define FS_RAS_FSBMFFNT_H 00016 //--------------------------------------------------------------------------- 00017 #if defined(FS_INCLUDE_USERDEFS) // inject user definition file on request 00018 # include <fs/fsUserDefs.h> 00019 #endif 00020 //--------------------------------------------------------------------------- 00021 namespace fs { namespace ras { 00022 //--------------------------------------------------------------------------- 00024 00033 class BmfFnt_t 00034 { 00035 public: 00036 00038 struct PxFmt888_t { unsigned char r, g, b; }; 00040 struct PxFmt8888_t { unsigned char r, g, b, a; }; 00041 00043 explicit BmfFnt_t(const char *pszFile); 00044 ~BmfFnt_t(); 00046 bool IsValid() const; 00047 00049 void Print(int nX, int nY, const char *pszText, PxFmt8888_t *pDst, 00050 int nDstW, int nDstH, int nClipX1 = -1, int nClipY1 = -1, 00051 int nClipX2 = -1, int nClipY2 = -1) const; 00052 00053 private: 00054 00055 BmfFnt_t(); 00056 BmfFnt_t(const BmfFnt_t &); 00057 BmfFnt_t & operator = (const BmfFnt_t &); 00058 00059 void *m_pImpl; 00060 }; 00061 //--------------------------------------------------------------------------- 00062 }} // namespace fs::ras 00063 //--------------------------------------------------------------------------- 00064 #endif // FS_RAS_FSBMFFNT_H