CMGDK r49-rc2
K:/CMGDKv18/SDK/Include/hgl/type/RectScope.H
浏览该文件的文档。
00001 # i f n d e f   H G L _ R E C T S C O P E _ I N C L U D E 
00002  
00003  # d e f i n e   H G L _ R E C T S C O P E _ I N C L U D E 
00004  
00005  
00006  
00007  # i n c l u d e < h g l / t y p e / D a t a T y p e . H > 
00008  
00009  n a m e s p a c e   h g l 
00010  
00011  { 
00012  
00013      t e m p l a t e < t y p e n a m e   T >   c l a s s   V e r t e x 2 ; 
00014  
00015      / * * 
00016  
00017      *   ُ*N{|(uNcTYt N*Nwb_V
00018  
00019      * / 
00020  
00021      t e m p l a t e < t y p e n a m e   T >   c l a s s   R e c t S c o p e 2                                                                                                                       / / / wb_V{|
00022  
00023      { 
00024  
00025      p u b l i c : 
00026  
00027  
00028  
00029          T   L e f t ;                                                                                                                                                                   / / / < wb_]@b(WvPWh
00030  
00031          T   T o p ;                                                                                                                                                                     / / / < wb_
00032 N@b(WvPWh
00033  
00034          T   W i d t h ;                                                                                                                                                                 / / / < wb_v[^
00035  
00036          T   H e i g h t ;                                                                                                                                                               / / / < wb_vؚ^
00037  
00038  
00039  
00040      p u b l i c : 
00041  
00042  
00043  
00044          T   G e t B o t t o m ( ) c o n s t { r e t u r n   H e i g h t + T o p ; } 
00045  
00046          T   G e t R i g h t ( ) c o n s t { r e t u r n   W i d t h + L e f t ; } 
00047  
00048          v o i d   S e t B o t t o m ( T   v ) { T o p = v - H e i g h t ; } 
00049  
00050          v o i d   S e t R i g h t ( T   v ) { L e f t = v - W i d t h ; } 
00051  
00052  
00053  
00054      p u b l i c : 
00055  
00056  
00057  
00058          R e c t S c o p e 2 ( ) ; 
00059  
00060          R e c t S c o p e 2 ( T , T , T , T ) ; 
00061  
00062          t e m p l a t e < t y p e n a m e   N >   R e c t S c o p e 2 ( c o n s t   R e c t S c o p e 2 < N >   & ) ; 
00063  
00064  
00065  
00066          v o i d   C l e a r ( ) 
00067  
00068          { 
00069  
00070              L e f t = 0 ; 
00071  
00072              T o p = 0 ; 
00073  
00074              W i d t h = 0 ; 
00075  
00076              H e i g h t = 0 ; 
00077  
00078          } 
00079  
00080  
00081  
00082          v o i d   S e t ( T , T , T , T ) ; 
00083  
00084  
00085  
00086          b o o l   P o i n t I n ( T , T ) c o n s t ; 
00087  
00088  
00089  
00090          t e m p l a t e < t y p e n a m e   N > 
00091  
00092          b o o l   P o i n t I n ( c o n s t   N   & v ) c o n s t { r e t u r n   P o i n t I n ( v . x , v . y ) ; }                                               / / / <  N*Np/f&T(WvQ
00093 N
00094  
00095  
00096  
00097          t e m p l a t e < t y p e n a m e   N > 
00098  
00099          v o i d   o p e r a t o r   =   ( c o n s t   R e c t S c o p e 2 < N >   & r s ) 
00100  
00101          { 
00102  
00103              L e f t     = r s . L e f t ; 
00104  
00105              T o p       = r s . T o p ; 
00106  
00107              W i d t h   = r s . W i d t h ; 
00108  
00109              H e i g h t     = r s . H e i g h t ; 
00110  
00111          } 
00112  
00113  
00114  
00115          t e m p l a t e < t y p e n a m e   N > 
00116  
00117          b o o l   o p e r a t o r   = =   ( c o n s t   R e c t S c o p e 2 < N >   & r s )   c o n s t 
00118  
00119          { 
00120  
00121              i f ( ( L e f t     = = r s . L e f t   ) 
00122  
00123                & & ( T o p       = = r s . T o p     ) 
00124  
00125                & & ( W i d t h   = = r s . W i d t h     ) 
00126  
00127                & & ( H e i g h t     = = r s . H e i g h t   ) ) r e t u r n ( t r u e ) ; 
00128  
00129              e l s e 
00130  
00131                              r e t u r n ( f a l s e ) ; 
00132  
00133          } 
00134  
00135          
00136  
00137          t e m p l a t e < t y p e n a m e   N > 
00138  
00139          b o o l   o p e r a t o r   ! =   ( c o n s t   R e c t S c o p e 2 < N >   & r s )   c o n s t 
00140  
00141          { 
00142  
00143                      r e t u r n ( ! o p e r a t o r = = ( r s ) ) ; 
00144  
00145          } 
00146  
00147  
00148  
00149          t e m p l a t e < t y p e n a m e   N > 
00150  
00151          R e c t S c o p e 2 < T >   o p e r a t o r   +   ( c o n s t   V e r t e x 2 < N >   & v )   c o n s t 
00152  
00153          { 
00154  
00155              r e t u r n   R e c t S c o p e 2 < T > ( L e f t + v . x , T o p + v . y , W i d t h , H e i g h t ) ; 
00156  
00157          } 
00158  
00159  
00160  
00161          t e m p l a t e < t y p e n a m e   N > 
00162  
00163          R e c t S c o p e 2 < T >   o p e r a t o r   -   ( c o n s t   V e r t e x 2 < N >   & v )   c o n s t 
00164  
00165          { 
00166  
00167              r e t u r n   R e c t S c o p e 2 < T > ( L e f t + v . x , T o p + v . y , W i d t h , H e i g h t ) ; 
00168  
00169          } 
00170  
00171          
00172  
00173          t e m p l a t e < t y p e n a m e   N > 
00174  
00175          R e c t S c o p e 2 < T >   & o p e r a t o r   + =   ( c o n s t   V e r t e x 2 < N >   & v ) 
00176  
00177          { 
00178  
00179              L e f t + = v . x ; 
00180  
00181              T o p + = v . y ; 
00182  
00183  
00184  
00185              r e t u r n ( * t h i s ) ; 
00186  
00187          } 
00188  
00189  
00190  
00191          t e m p l a t e < t y p e n a m e   N > 
00192  
00193          R e c t S c o p e 2 < T >   & o p e r a t o r   - =   ( c o n s t   V e r t e x 2 < N >   & v ) 
00194  
00195          { 
00196  
00197              L e f t - = v . x ; 
00198  
00199              T o p - = v . y ; 
00200  
00201  
00202  
00203              r e t u r n ( * t h i s ) ; 
00204  
00205          } 
00206  
00207      } ; / / c l a s s   R e c t S c o p e 2 
00208  
00209  
00210  
00211      t y p e d e f   R e c t S c o p e 2 < d o u b l e >     R e c t S c o p e 2 d ; 
00212  
00213      t y p e d e f   R e c t S c o p e 2 < f l o a t >   R e c t S c o p e 2 f ; 
00214  
00215      t y p e d e f   R e c t S c o p e 2 < i n t >       R e c t S c o p e 2 i ; 
00216  
00217  } / / n a m e s p a c e   h g l 
00218  
00219  # i n c l u d e < h g l / t y p e / R e c t S c o p e . C P P > 
00220  
00221  # e n d i f / / H G L _ R E C T S C O P E _ I N C L U D E 
00222  
00223  
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义