Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

MFont.h

00001 /**********************************************************************
00002 
00003 
00004 
00005 Copyright (c) 2005, TomTom B.V.
00006 
00007 
00008 
00009 All rights reserved
00010 
00011 
00012 
00013 
00014 
00015 ***********************************************************************/
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 #ifndef __MFONT_H__
00024 
00025 #define __MFONT_H__
00026 
00027 
00028 
00029 
00030 
00031 class MFrameBuffer;
00032 
00033 
00034 
00035 #include "CDesktop.h"
00036 
00037 
00038 
00059 class MFont
00060 
00061 {
00062 
00063  public:
00064 
00067   typedef unsigned int TUnicodeChar;
00068 
00069 
00070 
00073   typedef TUnicodeChar* TUnicodeString;
00074 
00075 
00076 
00077  public:
00078 
00081   virtual unsigned int GetCharHeight( TUnicodeChar aChar )                                               = 0;
00082 
00083 
00084 
00097   virtual unsigned int GetStringHeight( const char* aString )                                    = 0;
00098 
00099 
00100 
00103   virtual unsigned int GetStringHeight( const TUnicodeString aString )               = 0;
00104 
00105 
00106 
00109   virtual unsigned int GetCharWidth( TUnicodeChar aChar )                                            = 0;
00110 
00111 
00112 
00115   virtual unsigned int GetStringWidth( const char* aString )                     = 0;
00116 
00117 
00118 
00121   virtual unsigned int GetStringWidth( const TUnicodeString aString )            = 0;
00122 
00123   
00126   virtual bool         Render( MFrameBuffer& aFrameBuffer, TUnicodeChar aChar, unsigned int aX, unsigned int aY, CDesktop::TColor aColor  ) = 0;
00127 
00128 
00129 
00132   virtual bool         Render( MFrameBuffer& aFrameBuffer, const char* aString, unsigned int aX, unsigned int aY, CDesktop::TColor aColor ) = 0;
00133 
00134 
00135 
00138   virtual bool         Render( MFrameBuffer& aFrameBuffer, const TUnicodeString aString, unsigned int aX, unsigned int aY, CDesktop::TColor aColor ) = 0;
00139 
00140 
00141 
00143   enum EFontParameters
00144   {
00145    KHeight,
00146    KMaxAdvanceWidth,
00147    KAscender,
00148    KDescender
00149   };
00150 
00152   virtual int GetFontParameter( EFontParameters aParameter ) = 0;
00153 
00154   virtual ~MFont() {};
00155 
00156 
00157 
00158  public:
00159 
00162   enum EFixedFontType { 
00163 
00164                                        KFixedFont6   = 1, 
00165 
00166                                            KFixedFont12  = 2, 
00167 
00168                                            KFixedFont24  = 3,
00169 
00170                                            KFixedFont48  = 4,
00171 
00172                                            KFixedFont96  = 5
00173 
00174                       };
00175 
00176 
00177 
00182   static MFont& GetFixedWidthFont( EFixedFontType aFontType );
00183 
00184 
00185 
00210   static MFont* CreateTrueTypeFont( const char* aFontName, unsigned int aFontSize );
00211 
00212 
00213 
00216   static unsigned int UStrLen( const TUnicodeString aString );
00217 
00218 };
00219 
00220 
00221 
00222 #endif // __MFONT_H__
00223 
00224 
00225 

Generated on Fri Jul 15 16:46:44 2005 for TomTom GO User Interface library by doxygen 1.3.5