CMGDK r49-rc2
K:/CMGDKv18/SDK/Include/hgl/2d/TileFont.H
浏览该文件的文档。
00001 # i f n d e f   H G L _ T I L E _ F O N T _ I N C L U D E 
00002  
00003  # d e f i n e   H G L _ T I L E _ F O N T _ I N C L U D E 
00004  
00005  
00006  
00007  # i n c l u d e < h g l / o b j e c t / O b j e c t . H > 
00008  
00009  # i n c l u d e < h g l / 2 d / T i l e D a t a . H > 
00010  
00011  # i n c l u d e < h g l / t y p e / F i n U s e D a t a . H > 
00012  
00013  # i n c l u d e < h g l / 2 d / F o n t . H > 
00014  
00015  # i n c l u d e < h g l / t y p e / R e c t S c o p e . H > 
00016  
00017  n a m e s p a c e   h g l 
00018  
00019  { 
00020  
00021      e n u m   T e x t A l i g n m e n t ; 
00022  
00023  
00024  
00025      / * * 
00026  
00027      *   cHr{t
00028  
00029      * / 
00030  
00031      s t r u c t   M a k e u p 
00032  
00033      { 
00034  
00035          L i s t < R e c t S c o p e 2 f >   S c o p e ; 
00036  
00037          L i s t < C o l o r 4 f >   C o l o r ;     
00038  
00039  
00040  
00041          R e c t S c o p e 2 f   E n d ; 
00042  
00043  
00044  
00045          i n t   L e f t ;       / / teSOX OPy
00046  
00047          i n t   T o p ;         / / teSOY OPy
00048  
00049  
00050  
00051          i n t   W i d t h ;         / / e,gWWv[^
00052  
00053          i n t   H e i g h t ;       / / e,gWWvؚ^
00054  
00055  
00056  
00057          b o o l   U s e C o l o r ;     / / O(ȗُvr
00058  
00059  
00060  
00061      p u b l i c : 
00062  
00063  
00064  
00065          _ _ i n l i n e   R e c t S c o p e 2 f   & G e t S c o p e ( i n t   n ) 
00066  
00067          { 
00068  
00069              i f ( n > = S c o p e . C o u n t ) 
00070  
00071                  r e t u r n   E n d ; 
00072  
00073              e l s e 
00074  
00075                  r e t u r n   S c o p e [ n ] ; 
00076  
00077          } 
00078  
00079  
00080  
00081          _ _ i n l i n e   i n t   G e t O f f s e t ( i n t   n ) 
00082  
00083          { 
00084  
00085              r e t u r n   G e t S c o p e ( n ) . L e f t ; 
00086  
00087          } 
00088  
00089  
00090  
00091      p u b l i c : 
00092  
00093  
00094  
00095          M a k e u p ( ) 
00096  
00097          { 
00098  
00099                      L e f t = T o p = W i d t h = H e i g h t = 0 ; 
00100  
00101              E n d . S e t ( 0 , 0 , 0 , 0 ) ; 
00102  
00103              U s e C o l o r = f a l s e ; 
00104  
00105          } 
00106  
00107  
00108  
00109          v o i d   S e t C o l o r ( f l o a t   r , f l o a t   g , f l o a t   b , f l o a t   a ) 
00110  
00111          { 
00112  
00113              i n t   n = S c o p e . C o u n t ; 
00114  
00115  
00116  
00117              C o l o r . C o u n t = n ; 
00118  
00119  
00120  
00121              w h i l e ( n - - ) 
00122  
00123                  C o l o r [ n ] . S e t ( r , g , b , a ) ; 
00124  
00125          } 
00126  
00127  
00128  
00129          v o i d   S e t C o l o r ( c o n s t   C o l o r 4 f   c ) 
00130  
00131          { 
00132  
00133                      S e t C o l o r ( c . r , c . g , c . b , c . a ) ; 
00134  
00135          } 
00136  
00137  
00138  
00139          v o i d   P r o c E n d ( i n t   d w ) 
00140  
00141          { 
00142  
00143              i f ( S c o p e . C o u n t ) 
00144  
00145              { 
00146  
00147                  E n d = S c o p e [ S c o p e . C o u n t - 1 ] ;       / / S gT N*NW[&{vMOn
00148  
00149  
00150  
00151                  E n d . L e f t + = E n d . W i d t h ;                     / / TTy
00152  
00153                  E n d . W i d t h = d w ; 
00154  
00155  
00156  
00157                  H e i g h t = E n d . G e t B o t t o m ( ) ; 
00158  
00159              } 
00160  
00161              e l s e 
00162  
00163                  E n d . S e t ( 0 , 0 , d w , 0 ) ; 
00164  
00165                  } 
00166  
00167          } ; 
00168  
00169  
00170  
00171      / * * 
00172  
00173      *   O(uk*NT i l e Nh N*NW[&{v{t!jWW< b r > 
00174  
00175      *   sSSNO(u|~W[SO1uz^[eubW[&{_NSNO(u1u/g6R\O}YvW[SOVGr0
00176  
00177      * / 
00178  
00179      c l a s s   T i l e F o n t : p u b l i c   F i n U s e D a t a < w c h a r _ t , T i l e O b j e c t   * >                                                                             / / / T i l e W[SO
00180  
00181      { 
00182  
00183          # i n c l u d e < h g l / 2 d / T i l e F o n t . A t t r i b . H >     
00184  
00185  
00186  
00187      p u b l i c :   / / ^\'`
00188  
00189  
00190  
00191              T i l e D a t a   * t i l e _ d a t a ;                                                                         / / / < T i l e {thV
00192  
00193  
00194  
00195          C o l o r 4 f   C o l o r ;                                                                                 / / / < r
00196  
00197  
00198  
00199          V e r t e x 2 f   S c a l e ;                                                                               / / / < )>e
00200  
00201  
00202  
00203          P r o p e r t y < i n t >   W i d t h ;                                                                                                                                                 / / / < W[SO[^
00204  
00205          P r o p e r t y < i n t >   H e i g h t ;                                                                                                                                               / / / < W[SOؚ^
00206  
00207          P r o p e r t y < i n t >   L i n e D i s t a n c e ;                                                                                                                                   / / / < Lݍ
00208  
00209  
00210  
00211          u i n t   C h a r W i d t h ( w c h a r _ t ) ;                                                                     / / / < c[W[&{[^
00212  
00213  
00214  
00215      p u b l i c : 
00216  
00217  
00218  
00219          T i l e F o n t ( T i l e D a t a   * , i n t ) ; 
00220  
00221          v i r t u a l   ~ T i l e F o n t ( ) ; 
00222  
00223  
00224  
00225          f l o a t   G e t S t r i n g W i d t h ( c o n s t   w c h a r _ t   * , i n t = - 1 ) ;                                               / / / < BlW[&{2N[^
00226  
00227  
00228  
00229          f l o a t   D r a w C h a r ( f l o a t , f l o a t , c o n s t   w c h a r _ t ) ;                                                     / / / < ~6R N*NW[&{
00230  
00231  
00232  
00233          f l o a t   D r a w S t r i n g ( f l o a t , f l o a t , c o n s t   w c h a r _ t   * , i n t = - 1 ) ;                                       / / / < ~6R N*NW[&{2N, SP6RW[pe, v^NYt\ n 
00234  
00235          v o i d   D r a w S t r i n g S c o p e ( f l o a t , f l o a t , c o n s t   w c h a r _ t   * , i n t ) ;                                         / / / < ~6R N*NW[&{2N, SP6R[^, 
00236 NYt\ n 
00237  
00238          f l o a t   D r a w F o r m a t ( f l o a t , f l o a t , c o n s t   w c h a r _ t   * , . . . ) ;                                             / / / < ~6R N*N<h_SvW[&{2N
00239  
00240  
00241  
00242          f l o a t   D r a w S t r i n g ( f l o a t   x , f l o a t   y , c o n s t   C o l o r 3 f   & c , f l o a t   a ,     c o n s t   w c h a r _ t   * s t r , i n t   l i m i t = - 1 ) { C o l o r . M e r g e A l p h a ( c , a ) ;   r e t u r n ( D r a w S t r i n g ( x , y , s t r , l i m i t ) ) ; } 
00243  
00244          f l o a t   D r a w S t r i n g ( f l o a t   x , f l o a t   y , c o n s t   C o l o r 4 f   & c ,             c o n s t   w c h a r _ t   * s t r , i n t   l i m i t = - 1 ) { C o l o r = c ;               r e t u r n ( D r a w S t r i n g ( x , y , s t r , l i m i t ) ) ; } 
00245  
00246          f l o a t   D r a w S t r i n g ( f l o a t   x , f l o a t   y , c o n s t   C o l o r 4 f   & c , f l o a t   a ,     c o n s t   w c h a r _ t   * s t r , i n t   l i m i t = - 1 ) { C o l o r = c ; C o l o r . a * = a ;     r e t u r n ( D r a w S t r i n g ( x , y , s t r , l i m i t ) ) ; } 
00247  
00248  
00249  
00250          f l o a t   D r a w F o r m a t ( f l o a t   x , f l o a t   y , c o n s t   C o l o r 3 f   & c , f l o a t   a ,     c o n s t   w c h a r _ t   * s t r , i n t   l i m i t = - 1 ) { C o l o r . M e r g e A l p h a ( c , a ) ;   r e t u r n ( D r a w F o r m a t ( x , y , s t r , l i m i t ) ) ; } 
00251  
00252          f l o a t   D r a w F o r m a t ( f l o a t   x , f l o a t   y , c o n s t   C o l o r 4 f   & c ,             c o n s t   w c h a r _ t   * s t r , i n t   l i m i t = - 1 ) { C o l o r = c ;               r e t u r n ( D r a w F o r m a t ( x , y , s t r , l i m i t ) ) ; } 
00253  
00254          f l o a t   D r a w F o r m a t ( f l o a t   x , f l o a t   y , c o n s t   C o l o r 4 f   & c , f l o a t   a ,     c o n s t   w c h a r _ t   * s t r , i n t   l i m i t = - 1 ) { C o l o r = c ; C o l o r . a * = a ;     r e t u r n ( D r a w F o r m a t ( x , y , s t r , l i m i t ) ) ; } 
00255  
00256  
00257  
00258      p u b l i c : 
00259  
00260  
00261  
00262          v o i d   D r a w S t r i n g ( f l o a t , f l o a t , M a k e u p   & , c o n s t   w c h a r _ t   * , i n t = - 1 ) ;                               / / / < 9hnccHrۏL~6R
00263  
00264          v o i d   D r a w S t r i n g ( M a k e u p   & m a k e u p , c o n s t   w c h a r _ t   * s t r , i n t   l i m i t = - 1 )                               / / / < 9hnccHrۏL~6R
00265  
00266                      { D r a w S t r i n g ( 0 , 0 , m a k e u p , s t r , l i m i t ) ; } 
00267  
00268  
00269  
00270          v o i d   M a k e u p S t r i n g ( L i s t < R e c t S c o p e 2 f >   & , i n t , i n t , c o n s t   w c h a r _ t   * , i n t ) ;                           / / / < cHrW[&{2N
00271  
00272          v o i d   M a k e u p S t r i n g ( M a k e u p   & , c o n s t   w c h a r _ t   * , i n t = - 1 ) ;                                           / / / < cHrW[&{2N
00273  
00274          v o i d   M a k e u p S t r i n g ( M a k e u p   & , c o n s t   w c h a r _ t   * , i n t , T e x t A l i g n m e n t ) ;                                 / / / < cHrW[&{2N
00275  
00276      } ; 
00277  
00278  
00279  
00280      T i l e F o n t   * C r e a t e T i l e F o n t ( F o n t   & , F o n t   & , i n t = - 1 ) ;                                                   / / / < R^ N*NW[SO, O(u|~W[SO
00281  
00282  
00283  
00284      / * * 
00285  
00286      *   Ǐ|~W[SOR^ N*NT i l e W[SO
00287  
00288      *   @ p a r a m   c h s _ f o n t n a m e   -NeW[SO
00289 Ty
00290  
00291      *   @ p a r a m   e n g _ f o n t n a m e   eW[SO
00292 Ty
00293  
00294      *   @ p a r a m   w i d t h   [, SN:N0 , h:y؞0
00295  
00296      *   @ p a r a m   h e i g h t   ؚ
00297  
00298      *   @ p a r a m   b o l d   R|, ؞f a l s e 
00299  
00300      *   @ p a r a m   i t a l i c   eSO, ؞f a l s e 
00301  
00302      *   @ p a r a m   c o u n t   Q:SQOX[vW[&{*Npe
00303  
00304      * / 
00305  
00306      _ _ i n l i n e   T i l e F o n t   * C r e a t e T i l e F o n t ( c o n s t   w c h a r _ t   * c h s _ f o n t n a m e , c o n s t   w c h a r _ t   * e n g _ f o n t n a m e , i n t   w i d t h , i n t   h e i g h t , b o o l   b o l d , b o o l   i t a l i c , i n t   c o u n t ) 
00307  
00308      { 
00309  
00310          F o n t   c h s _ f n t ( c h s _ f o n t n a m e , w i d t h , h e i g h t , b o l d , i t a l i c ) ; 
00311  
00312          F o n t   e n g _ f n t ( e n g _ f o n t n a m e , w i d t h , h e i g h t , b o l d , i t a l i c ) ; 
00313  
00314  
00315  
00316          r e t u r n   C r e a t e T i l e F o n t ( c h s _ f n t , e n g _ f n t , c o u n t ) ; 
00317  
00318      } 
00319  
00320  
00321  
00322      / * * 
00323  
00324      *   Ǐ|~W[SOR^ N*NT i l e W[SO, -NeW[SOvT
00325  
00326      *   @ p a r a m   f o n t n a m e   W[SO
00327 Ty
00328  
00329      *   @ p a r a m   w i d t h   [, SN:N0 , h:y؞0
00330  
00331      *   @ p a r a m   h e i g h t   ؚ
00332  
00333      *   @ p a r a m   b o l d   R|, ؞f a l s e 
00334  
00335      *   @ p a r a m   i t a l i c   eSO, ؞f a l s e 
00336  
00337      *   @ p a r a m   c o u n t   Q:SQOX[vW[&{*Npe
00338  
00339      * / 
00340  
00341      _ _ i n l i n e   T i l e F o n t   * C r e a t e T i l e F o n t ( c o n s t   w c h a r _ t   * f o n t n a m e , i n t   w i d t h , i n t   h e i g h t , b o o l   b o l d = f a l s e , b o o l   i t a l i c = f a l s e , i n t   n u m = - 1 ) 
00342  
00343      { 
00344  
00345          r e t u r n   C r e a t e T i l e F o n t ( f o n t n a m e , f o n t n a m e , w i d t h , h e i g h t , b o l d , i t a l i c , n u m ) ; 
00346  
00347      } 
00348  
00349  
00350  
00351      / * * 
00352  
00353      *   Ǐ|~W[SOR^ N*NT i l e W[SO, eeSOeR|
00354  
00355      *   @ p a r a m   c h s _ f o n t n a m e   -NeW[SO
00356 Ty
00357  
00358      *   @ p a r a m   e n g _ f o n t n a m e   eW[SO
00359 Ty
00360  
00361      *   @ p a r a m   w i d t h   [, SN:N0 , h:y؞0
00362  
00363      *   @ p a r a m   h e i g h t   ؚ
00364  
00365      *   @ p a r a m   c o u n t   Q:SQOX[vW[&{*Npe
00366  
00367      * / 
00368  
00369      _ _ i n l i n e   T i l e F o n t   * C r e a t e T i l e F o n t ( c o n s t   w c h a r _ t   * c h s _ f o n t n a m e , c o n s t   w c h a r _ t   * e n g _ f o n t n a m e , i n t   w i d t h , i n t   h e i g h t , i n t   n u m = - 1 ) 
00370  
00371      { 
00372  
00373          r e t u r n   C r e a t e T i l e F o n t ( c h s _ f o n t n a m e , e n g _ f o n t n a m e , w i d t h , h e i g h t , f a l s e , f a l s e , n u m ) ; 
00374  
00375      } 
00376  
00377  } / / n a m e s p a c e   h g l 
00378  
00379  # e n d i f / / H G L _ T I L E _ F O N T _ I N C L U D E 
00380  
00381  
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义