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