CMGDK r49-rc2
|
00001 # i f n d e f H G L _ D R A W A R R A Y _ I N C L U D E 00002 00003 # d e f i n e H G L _ D R A W A R R A Y _ 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 / L i s t . H > 00008 00009 # i n c l u d e < h g l / g l / O p e n G L . H > 00010 00011 # i n c l u d e < h g l / g l / D r a w A r r a y . I n t e r f a c e . H > 00012 00013 n a m e s p a c e h g l 00014 00015 { 00016 00017 c l a s s S t r e a m ; 00018 00019 00020 00021 / * * 00022 00023 * ~6RRpencr` 00024 00025 * / 00026 00027 e n u m D r a w A r r a y D a t a S t a t e / / / ~6RRpencr` 00028 00029 { 00030 00031 d a s T e m p = 0 , / / / < 4Ne 00032 00033 00034 00035 d a s S t a t i c = G L _ S T A T I C _ D R A W , / / / < Y`, pencQNN 00036 NZPSR. ( penc N,O>eN>fX[) 00037 00038 d a s D y n a m i c = G L _ D Y N A M I C _ D R A W , / / / < R`, penc~8^ZPSR. ( A G P ;`~Npenc N,O>eNA G P RQX[) 00039 00040 d a s S t r e a m = G L _ S T R E A M _ D R A W / / / < A~SR, pencQNNk'^R. ( penc N,O>eN|~QX[) 00041 00042 } ; 00043 00044 00045 00046 / * * 00047 00048 * ~6RRpence_ 00049 00050 * / 00051 00052 e n u m D r a w A r r a y D a t a A c c e s s / / / ~6RRpence_ 00053 00054 { 00055 00056 d a a W r i t e = G L _ W R I T E _ O N L Y , / / / < NQ 00057 00058 d a a R e a d = G L _ R E A D _ O N L Y , / / / < N 00059 00060 d a a R e a d W r i t e = G L _ R E A D _ W R I T E / / / < NQ 00061 00062 } ; 00063 00064 00065 00066 / * * 00067 00068 * ybϑ~6RYt{|, (uNybϑ~6R'YybVb_< b r > 00069 00070 * ꁨRhKmv^/ecV B O Yt(W 00071 N/ecV B O v>faSbqRNꁨRO(u O~Yte_< b r > 00072 00073 * / 00074 00075 c l a s s D r a w A r r a y / / / ybϑ~6RYt{| 00076 00077 { 00078 00079 p r o t e c t e d : 00080 00081 00082 00083 b o o l u s e _ v b o ; 00084 00085 b o o l u s e _ i n d e x ; 00086 00087 u i n t p o i n t _ d c ; 00088 00089 i n t m a p ; 00090 00091 00092 00093 G L u i n t b u f f e r ; 00094 00095 00096 00097 D r a w A r r a y D a t a S t a t e t y p e ; 00098 00099 00100 00101 i n t c o u n t ; 00102 00103 00104 00105 u i n t 8 * d a t a ; 00106 00107 u i n t b u f f e r _ s i z e ; 00108 00109 00110 00111 L i s t < D r a w A r r a y B u f f e r I n t e r f a c e * > B u f f e r L i s t ; 00112 00113 00114 00115 p r o t e c t e d : 00116 00117 00118 00119 v o i d C r e a t e ( D r a w A r r a y D a t a S t a t e , u i n t , b o o l = t r u e ) ; 00120 00121 v o i d U s e ( ) ; 00122 00123 00124 00125 v o i d S t a r t A c c e s s ( ) ; 00126 00127 v o i d S t a r t A c c e s s ( i n t , i n t ) ; 00128 00129 v o i d E n d A c c e s s ( ) ; 00130 00131 00132 00133 p u b l i c : 00134 00135 00136 00137 G L e n u m D r a w M o d e ; / / / < ~V!j_ 00138 00139 00140 00141 p u b l i c : 00142 00143 00144 00145 D r a w A r r a y B u f f e r I n t e r f a c e * V e r t e x ; / / / < vppenc 00146 00147 D r a w A r r a y B u f f e r I n t e r f a c e * T e x C o o r d ; / / / < 4VPWhpenc 00148 00149 D r a w A r r a y B u f f e r I n t e r f a c e * C o l o r ; / / / < rpenc 00150 00151 D r a w A r r a y B u f f e r I n t e r f a c e * N o r m a l ; / / / < l~penc 00152 00153 D r a w A r r a y B u f f e r I n t e r f a c e * S e c o n d a r y C o l o r ; / / / < ,{Nri_ 00154 00155 D r a w A r r a y B u f f e r I n t e r f a c e * F o g C o o r d ; / / / < PWh 00156 00157 D r a w A r r a y B u f f e r I n t e r f a c e * I n d e x ; / / / < "}_penc 00158 00159 00160 00161 p u b l i c : 00162 00163 00164 00165 D r a w A r r a y ( ) ; 00166 00167 D r a w A r r a y ( D r a w A r r a y D a t a S t a t e , G L e n u m , u i n t , u i n t ) ; 00168 00169 D r a w A r r a y ( G L e n u m , u i n t , u i n t ) ; 00170 00171 ~ D r a w A r r a y ( ) ; 00172 00173 00174 00175 / / NyM A P TeSO(u Ny, _{sQ N*NMbSO(uN N*N f\ 00176 00177 v o i d M a p ( u i n t = d a a W r i t e ) ; / / / < _Y f\penc 00178 00179 v o i d M a p ( i n t , i n t ) ; / / / < QeQ f\ 00180 00181 v o i d M a p ( D r a w A r r a y B u f f e r I n t e r f a c e * , i n t = - 1 , i n t = - 1 ) ; / / / < QeQ f\ 00182 00183 00184 00185 b o o l U n m a p ( ) ; / / / < d f\ 00186 00187 v o i d C l e a r ( ) ; / / / < ndpenc 00188 00189 00190 00191 u i n t G e t P o i n t D C ( ) { r e t u r n p o i n t _ d c ; } / / / < S_pbN 00192 00193 00194 00195 v o i d L o a d ( D r a w A r r a y D a t a S t a t e v t , S t r e a m * i n ) ; / / / < NAm-NR}penc 00196 00197 i n t S a v e ( S t r e a m * o u t ) ; / / / < OX[penc0RAm 00198 00199 00200 00201 v o i d D r a w ( i n t , i n t ) ; 00202 00203 v o i d D r a w ( ) ; 00204 00205 v o i d M u l t i D r a w ( i n t , i n t * , i n t * ) ; 00206 00207 } ; / / c l a s s D r a w A r r a y 00208 00209 } / / n a m e s p a c e h g l 00210 00211 # e n d i f / / H G L _ D R A W A R R A Y _ I N C L U D E 00212 00213